CN1052315C - 用于模糊逻辑规则计值的方法 - Google Patents
用于模糊逻辑规则计值的方法 Download PDFInfo
- Publication number
- CN1052315C CN1052315C CN93106697A CN93106697A CN1052315C CN 1052315 C CN1052315 C CN 1052315C CN 93106697 A CN93106697 A CN 93106697A CN 93106697 A CN93106697 A CN 93106697A CN 1052315 C CN1052315 C CN 1052315C
- Authority
- CN
- China
- Prior art keywords
- value
- address
- rule
- data
- fuzzy
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 78
- 238000011156 evaluation Methods 0.000 claims description 68
- 230000008569 process Effects 0.000 claims description 35
- 230000006870 function Effects 0.000 claims description 31
- 230000008859 change Effects 0.000 claims description 7
- 239000000872 buffer Substances 0.000 abstract description 62
- 230000004044 response Effects 0.000 abstract description 4
- 230000009471 action Effects 0.000 description 32
- 230000000875 corresponding effect Effects 0.000 description 15
- 238000012545 processing Methods 0.000 description 8
- 238000012854 evaluation process Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 239000013078 crystal Substances 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 3
- 239000012141 concentrate Substances 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000008676 import Effects 0.000 description 3
- 238000012163 sequencing technique Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 238000006386 neutralization reaction Methods 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 208000037656 Respiratory Sounds Diseases 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 206010037833 rales Diseases 0.000 description 1
- 238000010792 warming Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/02—Computing arrangements based on specific mathematical models using fuzzy logic
- G06N7/04—Physical realisation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S706/00—Data processing: artificial intelligence
- Y10S706/90—Fuzzy logic
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Molecular Biology (AREA)
- Fuzzy Systems (AREA)
- Biomedical Technology (AREA)
- Algebra (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Automation & Control Theory (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Feedback Control In General (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Complex Calculations (AREA)
- Logic Circuits (AREA)
Abstract
响应一个单独的“REV”软件指令,在一个数据处理器(10)中对多个模糊逻辑规则计值的一种电路(14)。该REV指令对存储在一存储器(32)中的规则进行计值以确定每一规则的规则强度。每一规则的前提和结论由一缓冲器地址分隔开。为了对前提计值,一个ALU(算术逻辑单元)(52)从存储在一累加器(58)中的当前前提中减去存储器(32)中的一个前提。其后,一个交换逻辑(46)提供控制信息以便指定一个最小值作为该规则的规则强度。
Description
本发明广泛涉及数据处理***,尤其是涉及了数据处理***中模糊逻辑操作的执行。
数据处理器已发展成二进制机器的操作方式,其输入和输出解释为一或零,而任何其他可能性都是不存在的。虽然在许多情况下这种操作方式是有效的,但有时答案并不是简单的“Yes”(“是”)或:No(“否”),而是介于两者之间。于是发展了称为“模糊逻辑”的一种概念,使得基于二进制逻辑的数据处理器能够提供介于“Yes”和:No”之间的答案。
模糊逻辑是一种逻辑***,该逻辑***具有带模糊边界的隶属函数。隶属函数将诸如“气温是暖和的”这样主观表述翻译成典型的数据处理器可识别的一个数值。如象“Warm”(“温暖的”)这样一个标号用来标识输入数值的一个区域,该区域的边界不是一些据以判定标号在一侧为真而在另一侧则为假的点。在执行模糊逻辑的***中,隶属函数的边界是逐渐变化的并可能与相邻的隶属集合的边界重叠。因而通常要向输入数值指定一个隶属度。例如,如果气温的范围规定为隶属函数,则输入的温度可能会落到同时标有“冷”和“暖”两个函数的重叠区域中。这时就需要进一步的处理以断定在每一隶属函数中的隶属度(即当前的温度适合于冷和热这两个隶属集的每一个集的程度)。
称为“模糊化”的一个步骤用来将输入与执行模糊逻辑的一个***之中的一个隶属函数相关联。模糊化过程将具体的数值附加在诸如“气温是温暖的”这样的主观表述上。这些数值旨在实现人的感觉一种良好的近似表达。
模糊化步骤之后,要执行的是所谓规则计值步骤。在规则计值步骤之中,对于与模糊输入数值有关的规则表述进行计值以得到模糊输出。例如,设待计值的一个规则可表述为:
如果(气温是温暖的)而且(气压是高的),则(风扇的速度是中等)。
此规则中,“气温是温暖的”以及“气压是高的”这两个前提必须进行计值以判定结论“风扇速度是中等”的规则强度。在规则计值步骤中,一个前提为真的程度影响着该规则为真的程度。前提为真的最小值用作规则的结论的规则强度。因而,如果有一个以上的规则要进行计值,并且要对风扇给出一个以上的指令,则每一规则的结论的规则强度共同用于确定风扇的动作。例如,上述的规则可计值为具有规则强度X。而且,将风扇转接到高速的第二个规则计值为具有规则强度Y,其中Y大于X。模糊逻辑操作的最后一步是响应由规则的计值步骤提供的模糊输出提供一个适当的动作。
模糊逻辑过程中的最后一步称为“非模糊化”。这一步骤要将规则计值步骤所得的相互竞争的结果进行分解辨别而得出一个单一的动作。非模糊化过程即是综合所有的模糊输出成为一个可用于标准数据处理***的组合结果。有关模糊逻辑更多的信息请参阅由James M.Sibigtroth所撰写的标题为“在硬件中实现模糊专家规则”的文章。该文发表在AI EXPERT(“人工智能专家”)1992年4月号第25页至31页。
总的说来,规则是由一系列前提(前件)后跟一个或多个动作(结论)构成的。每一前提对应一个模糊输入而每一动作对应一个模糊输出。在规则的计值步骤的硬件实现中,专用的连接方法和电路用于建立模糊输入与模糊输出之间的关系。这种方法常需要专用的存储器电路技术而不够灵活。在规则计值步骤的软件实现中,指令程序用于计值步骤。这种软件方法通常比硬件方法速度慢并且需要相当大的程序存储量。在数据必须尽快进行计量,传送和控制的工业中,快速执行的次数是很重要的。因而对于某些应用而言,软件不是一个有生命力的解决问题的方法。
于是需要一种无需扩展的硬件即可快速执行规则计值步骤的电路或方法。所需的是与通常硬件解决方法相关的速度而又无需平时与这种方法相联系的专用线路区域。
本发明满足了以上提到的需要。这里以一种形式提供了操作一个数字式数据处理器执行模糊规则的计值操作的方法。该方法包括的步骤是:
1)从一个存储单元中检索一个地址值。
2)将该地址值与第一边界值进行比较,若该地址值与第一边界值符合,则终止模糊规则计值操作。
3)将该地址值与第二边界值进行比较,若该地址值与第二边界值符合,则改变第一标记信号状态。
4)如果地址值与第一及第二边界值都不符合并且第一标记信号在第一状态,则应用从存储单元检索的隶属函数值执行第一算术运算。
5)如果地址值与第一和第二边界值都不符合并且第一标记信号在第二状态,则应用由地址值所指定的存储单元中检索的结论值执行第二算术运算并且有选择地将此第二算术运算的结果写入由该地址值所规定的存储单元中。
6)重复步骤1)到5)。
由以下参照附图所作的详细描述可清楚地理解这些特点和其他特点及优点。重要的是应注意附图并不意味着代表本发明的唯一的形式。
图1.以图形的形式说明了用于描述模糊逻辑一些常用概念和基本术语;
图2.以框图的形式说明了根据本发明的数据处理***;
图3.以框图的形式说明了图2的一个执行单元;
图4.以逻辑电路的形式说明了图3的一个寄存器变换逻辑电路;
图5.以存储变换的形式说明了图2的一个内部存储器中待计值的一个规则数组;以及
图6.以流程图的形式说明了根据这里所述的发明执行REV(规则计值)指令过程中所要执行的函数的一个流程。
较佳实施例的详述。
本发明提供了用于数据处理***的在模糊逻辑操作中快速执行规则计值步骤的电路和方法,该电路和方法具有最小的电路量。该规则计值步骤以单指令编码,这指令在数据处理***中无须额外附加的电路即可有效地被执行。因而本发明是提供了一种指令,该指令可使得数据处理***的用户无需冗长的软件程序所耗的时间而可以快速执行规则计值步骤。
本发明的这一指令用便于记忆的符号“REV”表示,该指令将引发数据处理***执行一系列有关从存储器中检索操作数和应用这些操作数执行算术运算的步骤。如果待计值的规则的前提及该规则的结论的隶属函数值在执行本发明的REV指令之前已适当地存储到存储器之中,则REV指令执行的结果将是该规则的固有计值。假定前提和结论以一种特别的格式存储到存储器之中,并通过对现存的可执行该指令的硬件的细心筹划的应用,本发明可使得在一般通用的数据处理***中补充很少的硬件即可对模糊逻辑规则作有效的计值。例如,数据处理器中在执行带符号的运算过程之中所使用的条件码寄存器的溢出或V位(空位)在本发明中用作与来自存储器的操作数的处理相联系的标记。
在本发明的实现方法的陈述中将使用“取正”及“取反”这样的术语以及其各种语法形式,以便避免在处理“有效高位”及“有效低位”混合逻辑信号时的混淆。“取正”用以表示一个逻辑信号或寄存器的位呈活动态或逻辑真状态。“取反”用以表示一个逻辑信号或寄存器位呈非活动态或逻辑假状态。而且,一个十六进制数值可能由一个置于数值前的“$”符号标出。
图1提供了一幅图,表示模糊逻辑的一些基本概念和术语。图1所表示的模糊逻辑***中,“***的输入”是华氏气温。提供了四个“隶属函数”以给出气温范围的标记。例如,从0度到35度的一个气温标以“寒冷”。类似地,由25度到60度的温度标以“凉爽”。注意每一隶属集的边界是与邻接的隶属集的边界重叠的。因而,一个温度可能出现在一个以上的隶属集之中。例如***输如假设指示为58度。参见图1,注意58度既在凉爽隶属集的边界中又在温暖隶属集的边界之中。但是可以求得在每一隶属集中的隶属度。***的输入对于凉爽隶属集而言有一个其十六进制值为$33的隶属度,而对于温暖隶属集则有一个十六进制值为$CC的隶属度。假如***输入已指示温度为70度,则该温度在温暖隶属集中就会具有十六进制值$FF的隶属度。类似地,70度的温度在炎热隶属集中具有十六进制数值的$00的隶属度。在图1所描述的模糊逻辑***中隶属度的变化范围是从十六进制值$00到$FF,这对应于十进制小数从0.00至0.996。本专业工作者知道一个两位的十六进制值可由单独一个八位二进制字节来表示。
上述操作的指令和方法的一种实现可以在一个修改了的MC68HC11微控制器中进行。MC68HC11是一个8位微控制器。它包括十六位的地址和存储寄存器,可由Motorola,Inc.ofAustin,Texas(摩托罗拉公司,奥斯汀,得克萨斯)购得。图2更详细说明出该种实现方法。图2描绘了可实现规则计值指令的数据处理***10。数据处理***10一般包括一个中央处理器(CPU)12,一个振荡器24,电源电路26,定时电路28,一个外部总线接口30和一个内部存储器32。CPU12一般具有一个执行单元14,一个总线控制逻辑电路16,一个指令解码逻辑电路18,一个控制单元20和一个定序器22。
在操作过程中,“Osc1”信号由诸如晶体这类外部信号源供给振荡器24。该晶体连接在信号Osc1与Osc2之间而使得该晶体能够振荡。Osc1向数据处理***10的其余部分提供“时钟”信号。晶体振荡器的操作在数据处理技术中为人们所熟知并且对于本技术领域一般工作者是显然的事情。
电源电路26从一个外部电源接收“Vdd”及Vss信号。Vdd信号提供正5伏特的电压而Vss信号提供一个参考的或称基准的电压。Vdd与Vss信号供给数据处理***10的其余每一个部件。这些信号的路由选择在数据处理技术中是众所周知的,因而对于一般的技术人员来说应该是显然的事情。
定时电路28接收时钟信号并通过定时控制总线38顺序地将适当的定时信号提供给以下每一部件:CPU12,外部总线接口30以及内部存储器32。
多地址值从外部总线接口30提供给外部地址总线35。类似地,多数据值通信是经由外部数据总线33通过外部总线接口30进行的。外部总线接口30控制着外部用户与数据处理***10之间的地址与数据值的接收和传输。外部总线接口30分别通过内部地址总线36与内部数据总线30使得多地址和数据值与数据处理***10的其余部分进行通信。
内部存储器32的作用在于存储供数据处理***10的适当操作所需要的信息。而且如果在用户的程序中有特别的规定,则其他的数据值也能经由内部地址总线36和内部数据总线34存储在这里。
CPU12在数据处理***10操作过程中执行每一条所要求的指令。内部地址总线36与内部数据部线34在执行单元14与数据处理***10的其余部分之间进行信息的通信。总线控制逻辑电路16取指令和操作数。然后每一指令由指令解码逻辑电路18进行解码并提供给控制单元20和定序器22。控制单元20和定序器22保持每一指令执行的顺序使得数据处理***10的计算能力得以最有效的利用。控制单元20包含有一个微只读存储器(未表示出),该只读存储器通过一微只读存储器控制总线65向下列每一部件提供多种控制信息:执行单元14,总线控制逻辑16和指令解码逻辑18。此多种控制信息对于REV指令的正确执行是必要的。
执行单元14在图3中更详细地表示出来。执行单元14一般包括一个数据缓冲器40,第一选择器42,第二选择器44,寄存器交换逻辑电路46,条件码逻辑电路47,A-输入控制电路48,A-输入多路复用器50,ALU(算术逻辑单元,下同)52,B-输入控制电路54,B-输入多路复用器56,累加器58,条件码寄存器60以及比较器72。除累加器58和条件码寄存器60之外,在执行单元14中可能还装有其他存储寄存器。例如,也可能包括一个下标寄存器或第二累加器。装设和使用这类存储寄存器在本技术领域中是尽人皆知的,故对于本技术专业的一般人员是显然的事情。
外部信息总线41向数据缓冲器40提供地址和数据信息。外部信息总线41分别从内部地址总线36和内部数据总线34接收地址和数据信息。数据缓冲器40在选择器42和44分别允许信息传输时通过信息总线A66和信息总线B64向执行单元14的其余部分提供经由外部信息总线40传输的数值。虽然这里并未详细表示出,但其中的信息总线A66与信息总线B64都是十六位宽的并分为高侧(15位到8位)与低侧(7位到0位)。又数据缓冲器40向比较器72提供地址信息。
累加器58的第一与第二输入分别是与信息总线A66与信息总线B64双向耦合的。任何诸如累加器与下标寄存器之类的附加寄存器都将类似地与信息总线A66与信息总线B64耦合。
多控制信号经由微—只读存储器控制总线65同时向A-输入控制逻辑48和B-输入控制逻辑54提供。微—只读存储器控制总线65响应由控制单元20中的微—只读存储器(未表示出)提供的信息提供多控制信号。
A-输入控制48将“控制A”信号提供给A-输入多路复用器50的控制输入。信息总线A66是连接到A-输入多路复用器50的数据输入。A-输入多路复用器50将标有“A-输入低侧”的第一个十位输出提供给ALU52的第一输入,又把标有“A-输入低侧”的第一个十位输出提供给ALU52的第一输入,又把标有“A-输入高侧”的十二个十位输出提供给ALU52的第二输入。B-输入控制54向B-输入多路复用器56的控制输入提供“控制B”信号。信息总线B64是接连到B-输入多路复用器56的数据输入的。B-输入多路复用器56把标有“B-输入低侧”的第一个十位输出提供给ALU52的第三输入,又把标有“B-输入高侧”的第二个十位输出提供给ALU56的第四输入。
ALU52处理每一输入而提供多结果,这些结果经由结果总线120传送。结果总线120将ALU52所提供的结果提供给寄存器交换逻辑46及条件码逻辑47。而且,结果总线120还将该多结果提供给信息总线B64。
条件码逻辑47也耦合到比较器72以便接收触发翻转信号。条件码逻辑47同条件码寄存器60耦合以便提供“条件码”信号。
条件码寄存器60向寄存器交换逻辑46的第二控制输入提供VCCR(条件码寄存器空位)信号。又定时控制信号提供给寄存器交换逻辑46的第一控制输入。该定时控制信号是经由定时控制总线38提供的。寄存器交换逻辑46提供分别标有“Enable A”与En-able B”(允许A与允许B,下同)的第一与第二输出。该允许A信号提供给选择器42的第一控制输入。信息总线A66与选择器42双向耦合。选择器42的一个输出与数据缓冲器40耦合以便作多被选信号的通信。类似地,该允许B信号是提供给选择器44的第一输入的。信息总线B64与选择器44双向耦合。选择器44的一个输出是耦合于数据缓冲器40的以便进行多被选信号的通信。
寄存器交换逻辑46在图4中加以了详细说明。一般而言,寄存器交换逻辑46包含一个AND(与)门62,一个AND(与)门70以及一个反相器68。VCCR信号向AND(与)门62提供了第一输入并向反向器68提供了一个输入。反向器68的一个输出向AND(与)门70提供了第一输入。定时控制信号同时向AND(与)门62及AND(与)门70提供第二输入。结果总线120将标有“N”的信号从ALU52同时向与门62及与门70的第三输入提供。与门62的一个输出提供允许A信号,与门70的输出提供允许B信号。
在执行模糊逻辑操作过程中,数据处理***10的用户可应用带有助记符REV(Rule Evaluatron,规则记值)的指令执行模糊输入上规则计值步骤。如前所述,模糊输入是作为模糊化步骤的结果而提供的,在模糊化步骤中***的输入信号是向诸已定义的每一隶属集合指定一个隶属度。这里所述的本发明的实现方式中,指定给模糊输入的每一个隶属度在执行REV指令之前是存储在数据处理***10的内部存储器32中预定的存储单元之中。向多个模糊输入指定各个隶属度的方法在标题为:“用于模糊逻辑操作中确定集合中的隶属的电路和方法”的用以对照的共同未决专利申请中有更详细的透露,该专利申请者为J.Greg Viot,James M.Sibigtroth,和James L.Broseghini。
这里所述的例子中,假定在第一和第二***输入的模糊化过程中使用两组隶属集合。该两组的第一组规定气温度量,它们分为寒冷、凉爽、温暖与炎热隶属集。当模糊化时,在凉爽隶属集合中的第一***输入的隶属度规定应用标记为Tcool的变量。类似地,寒冷,温暖和炎热隶属集每一个的第一***输入的隶属度规定各自的一个语言变量分别为Tcold,Twarm及Thot。
两组隶属集合的第二组规定气压的度量,它们分为低,中和高隶属集。当模糊化时,在低,中和高隶属集的第二***输入的隶属度规定应用分别标以Plight,Pmedium及Pheavy的语言变量之一。在***输入已被模糊化之后,每一相应的隶属集合的第一和第二***输入的隶属度就存储在存储器中预定的单元之中。而且规则必须进行计值以便给出适当的动作。在本例中假设待计值的三个规则有如下的形式:
(1)规则1:如果气温凉爽(Tcool)而且气压低(Plight),则
(动作1)与(动作2);
(2)规则2:如果气温是温暖(Twarm)且气压是中等
(Pmedium),则(动作3);以及
(3)规则3:如果气压中等(Pmedinm),则(动作3)。
注意每一规则具有的典型形式为:
(4)如果(模糊输入1)与(模糊输入2),则
(动作X)与(动作Y)。
在规则计值过程中,规则的“if”(“如果”)部分首先被计值以便确定最小隶属度值。规则的“如果”部分同时包括模糊输入1值与模糊输入2值。确定规则强度的一般方法是确定待计值的模糊输入的最小隶属度。但也有其他实现方法。例如,规则强度可按其每一前提的隶属度之和来计算。类似地,隶属度也可进行乘积或以任一种计算类型进行操作以确定规则强度。
在本实现方式中,规则强度仅仅只作为最弱成份的强度。该最弱隶属度值用于确定该规则的“则”部分中的特定的每一动作的规则强度值。在形式(4)所示的规则中,对应于模糊输入1与模糊输入2的最小值的规则强度存储在内部存储器32中分别由动作X与动作Y的值的地址所指示第一与第二地址单元之中。对应于预定的多动作值之一的每一规则强度用于提供对应于相应动作的模糊输出值。然后这时模糊输出值可以被非模糊化以便执行由用户特定的一个操作。虽然在形式(4)中只给出两个模糊输入值和两个动作值,但也可给出更多或更少的值。数据处理***10的用户确定规则的形式并可提供任何个数的待执行的模糊输入或动作。
又当对多于一个的规则进行计值时,则有可能对于一个动作设定多个规则强度。在这种情形下具有较大值的规则强度应被设定作该动作。于是该动作是设定为最大值规则强度。这里所述的本发明的实现方式中,内部存储器32一般用于存储器存储。然而也可应用数据处理***10的外部存储器电路(未表示)。这类外部存储器电路的实现方法与应用在数据处理技术中是尽人皆知的并对于一般的技术人员是显然的事情。在本实现方法中,每一模糊输入是以下述方式存储在内部存储器32之中:存储器地址 模糊输入 注释$1000 $00 Tcold$1001 $33 Tcool$1002 $CC Twarm$1003 $00 Thot$1004 $00 Plight$1005 $FF Pmedinm$1006 $00 Pheavy
数组1
如数组1中所示,对于气温和气压这两种***输入,对于每一***输入的每一隶属集合提供了记作“Fuzzy Input”(模糊输入)一个隶属度。如前述参考图1所进行的说明,第一***输入是华氏58度的一个气温。华氏58度被模糊化,以具有在寒冷和炎热隶属集中具有$00隶属度,在凉爽隶属集中具有$33的隶属度,以及在温暖隶属集中具有$CC的隶属度。如数组1中所示,Tcold与Thot变量值均为$00,这指示出第一***输入在这两个隶属集中都没有。但第一***输入有Tcool值$33以及Twarm值$CC。因而第一输入在凉爽隶属集合中具有隶属度$33以及在温暖隶属集合中有隶属度$CC。
类似地,第二输入被模糊化而指明在低和高气压隶属集合中都有隶属度$00。于是Plight与Pheavy变量的值都是$00,这指明第二输入在这两个隶属集合中都不包含。但是该第二输入在该中等的隶属集中具有隶属度$FF。于是变量Pmedinm具有的值为$FF。
象模糊输入一样,每一个待计值的规则(规则1至规则3)也是以一个规则数组存储在内部存储器32之中。该规则数组表示在图5之中。就每一规则来说,对于模糊输入与模糊输出都提供了地址单元。模糊输入与模糊输出的地址以图5并参照诸如前面的数组1中所示数据值表的形式所存储。象模糊输入一样,对应于模糊输出的数据值表也以一个数组的形式提供,该数组在此未详细表示出。
规则数组的起始位于由数据处理***10的用户所预定的特定地址。此处所述及图5中所说明的例子中,该预定地址等于$E000并在执行REV指令之前存储在下标寄存器之中。用于规则1的第一个模糊输入的地址位于十六进位制地址$E000,即该规则库的起始。在本例中,Tcool是规则1的第一模糊输入并且$1001的地址存储在该规则数组的地址$E000处。因为Plight值是规则1的第二模糊输入,因而$1004的地址存储在规则数组中地址$E002处。
为了将模糊输入与模糊输出区别开来,在规则数组中地址$E004处存储了带有值$FFFE的一个缓冲器。于是规则1的模糊输出由一个带有值$FFFE的缓冲器与规则2的模糊输入区别开来。这一格式(其中任意多个模糊输入与任意多个模糊输出由带有值$FFFE的一个缓冲器区别开来)将反复执行直到多规则的每一模糊输入与输出存储在存储器中为止。在这点处一个特别的缓冲器值指示规则库的终止。这里所述的例子中,规则库的终止是由数值$FFFF表示的。虽然是相同的缓冲器值用于区分每一规则的模糊输入与模糊输出,但数据处理***10的设计者可使用任意多个缓冲器。
通过对于每一规则如此地安排其第一模糊输入与输出的次序,每个规则就可通过应用作为区分每一模糊输入与输出的段的指示符的缓冲地址来顺序地加以计值。因而规则不必遵循带有特定数量的模糊输入与模糊输入(动作)的一种固定的格式。这使得提供模糊***规则时有较大的灵活性。正如在规则1,规则2以及规则3〔(1),(2)和(3)〕中可看到的那样,在本发明的这一实现方式中模糊输入与相应的动作的数目在各规则之中可以是有变化的。
为开始执行REV指令,规则的每一模糊输入与输出必须以图5所示的具有预定格式的规则数组形式存储到存储器之中。而且该规则数组的起始地址必须存储在执行单元14中的下标寄存器之中。并且累加器58必须在执行REV指令之前以具有十六进制值$FF初始化。另外,每一模糊输出必须被指定一个十六进制值$00。这时REV指令的执行就可按照图6所示的流程图进行。该流程图提供了REV指令执行过程中所执行的各功能的简要的浏览。各个功能更为详细的解释将出现在以下执行REV指令的一个例子的过程之中。
如图6中所示,执行REV指令的第一步是在REV指令解码时执行。存储在下标寄存器中,这里称为“X”的地址定时用以读取第一规则操作数。然后地址X递增而指向下一地址单元(X+2)。
这时对该第一规则操作数的值进行测试以判定该值是否等于十六进制的$FFFE。如果该值等于十六进制的$FFFE,则VCCR信号被触发翻转而指示一个缓冲器值被检索。如果该VCCR信号在被触发之后等于零,则规则的第一模糊输入就要被计值而且累加器58应该初始化为十六进制值$FF。否则累加器58的值就不被修改。
如果第一规则操作数的值不等于$FFFE,则该值要进行测试以判定它是否等于十六进制的$FFFF。如果该值等于十六进制的$FFFF,则已经访问到了该规则数组的终结而REV指令终止。
但是,如果第一规则操作数的值不等于$FFFF,则第一规则操作数的值就用于从内部存储器32中访问一个模糊输入或模糊输出值。然后累加器58的内容从模糊输入或模糊输出的值减去而提供一个带有符号的结果。该结果的符号由N信号的值所指示。
如果N信号等于零,则累加器58与数据缓冲器40的内容不会被交换并且存储在下标寄存器中的地址访问下一个规则操作数。但如果N信号等于一,则VCCR信号要被测试。
如果VCCR信号等于零,则累加器58的内容就要被第一规则操作数所访问的模糊输入值来替代。从而,应用一最小值函数以定义一个指定为当前正被计值的规则的模糊输出的规则强度。然后,存储在下标寄存器中的地址用于访问下一个规则操作数。
如果VCCR信号值为一,则数据缓冲器40的内容将被累加器58中更强的规则强度所替代。从而,向当前正被计值的模糊输出指定一个最大规则强度。接着,存储在下标寄存器中的地址用以访问下一个规则操作数。
图6中所示的流程图提供了在数据处理***10中执行REV指令的一个概貌。现给出更详细的例子。
REV指令的基本操作如下:每一前提值从存储器中检索并确定一个最小前提值,然后检索每一结论值,将第一结论值与规则强度值进行比较并当且仅当先有的结论值小于该规则强度值时用该规则强度值在存储器中代替结论值。
如前所述,多模糊输入在执行REV指令之前由数据处理***10的用户存储在内部储器32中第一预定存储器单元之中。多模糊输入是按照数组1来存储的。而且用于对多模糊输入进行计值的每一规则也是以图5中所示的形式存储在内部存储器32中的第二预定存储单元之中的。此处虽未详细表示出来,对应于模糊输出的每一规则强度值也是存储在内部存储器32中一个类似于数组1的起始地址为$2000的一个数组中。在执行REV指令之前数据处理***10的用户还必须指定所有模糊输出的值为一十六进制值$00。又在执行REV指令之前数据处理***10的用户必须将累加器58初始化为十六进制值$FF。如上所述,当累加器58初始化为$FF时,VCCR信号为取反。在操作过程中,用户可以通过存储在外部或内部存储器32的软件程序向数据处理***10提供REV指令。假如REV指令是由数据处理***10的外部源提供的,则REV指令将经由外部数据总线33输入到外部总线接口30。此后外部总线接口30将通过内部数据总线34将REV指令提供给CPU12。如果REV指令是由内部存储器32中的软件程序所提供的,则REV指令将经由内部数据总线34提供给CPU12。在CPU12中,执行单元14响应从总线控制逻辑电路16,控制单元20以及定序器22每一个收到的控制信号而将REV指令提供给指令解码逻辑电路18。又CPU12的每一部件通过定时控制总线38接收定时控制信号。这种定时控制信号的路由选择和用法在数据处理技术中是尽人皆知的,因而此不赘述。
指令解码逻辑电路18将REV指令解码以便提供用于正确执行REV指令所需的多种控制与信息信号。一旦收到REV指令并将其解码,执行单元14就开始对存储在内部存储器32中的多模糊输入计值所必须的步骤。图2中的CPU的控制单元20与定序器22共同提供从内部存储器32向执行单元14转移指向模糊输入及模糊输出的两者的指针所必须的一系列定序控制信号。
为开始执行REV指令,执行单元14中的下标寄存器(未表示出)要提供一个指向规则库起始的指针。下标寄存器及其在数据处理***中的用法在数据处理技术中是人所共知的,故此不必详释。该指针指向内部存储器32中的规则库的一个起始地址,该地址存储有凉爽气温隶属集中第一输入的隶属度。该地址指出了存储了规则1的第一模糊输入值的地址。这里所述的例子中,十六进制的地址$1001存储在内部存储器32中的地址$E000处。
当从规则数组中访问了规则1的第一模糊输入值的地址后,该地址经由外部信息总线41提供给数据缓冲器40。然后数据缓冲器40将此地址值提供给比较器72,在此比较器中该地址值与十六进制$FFFE作比较。如果该地址值等于$FFFE,则指向一个缓冲器地址并触发VCCR位(条件码寄存器空位,下同)。传统上VCCR位是用于表示在带符号的算术计算中的溢出错误的。然而在本发明的这一实现方式中,在条件码寄存器中的溢出位(VCCR)设定为表示被访地址或是对应于一个模糊输入地址,或是一个缓冲器地址,或是一个模糊输出地址。当所访问的是对应第一规则的模糊输入的地址时,则VCCR位保持取反的状态。如果被访地址是一个缓冲器值,则VCCR位被触发翻转。这里所述的例子中,缓冲器值等于十六进制值$FFFE,又当所访问的是模糊输出的地址时,则VCCR位保持取正状态。
当地址值等于$FFFE时,比较器72对于触发翻转信号取正。条件码逻辑电路47接收该触发信号并进而提供一个取正的条件码信号给条件码寄存器60。于是条件码寄存器60相应将VCCR信号不是取正就是取反。
在这里所述的例子中,从地址$E000中取出一地址值$1001,即规则数值中规则1的第一模糊输入值的地址。因为$1001并不等于$FFFE,比较器72就不取正触发翻转信号。因而由条件码逻辑电路47所提供的条件码信号就不能使得条件码寄存器60触发翻转VCCR信号。
比较器72也将规则1的第一模糊输入的地址值与十六进制值$FFFF作比较。如果该地址值等于$FFFF,则指示出规则数组地址的结束并终止REV指令的执行。
又当从内部存储器32访问地址$1001时,则给出凉爽气温隶属集合中的第一***输入的隶属度。如数组1中所示,该隶属度等于十六进制值$33。内部存储器32经由内部数据总线34向执行单元14的数据缓冲器40提供信息。外部信息总线41提供经由内部地址总线36和内部数据总线34传送的信息。
第一模糊输入($33)存储在数据缓冲器40之中供后继处理之用。为了确定规则1的前提的极小隶属度,累加器58的当前内容($FF)要从第一模糊输入($33)中减去。为实现这一功能,累加器58的内容要提供给信息总线A66以及数据缓冲器40的内容要提供给信息总线B64。此外,多种控制和定时信号要经微只读存储器控制总线65提供给执行单元14。多种控制与定时信号是作为REV指令解码的结果由图2的指令解码逻辑18提供的。
在执行单元14中,在根据由微—只读存储器控制总线65传送的定时信号所确定的时间点处第一模糊输入提供给A-输入多路复用器50且累加器58的内容提供给B-输入多路复用器56。B-输入控制电路54提供一个“控制B”信号以便控制B-输入多路复用器56的操作。在这一例子中,控制B信号允许B-输入多路复用器46向ALU52传送一个未加修正的第一模糊输入值。类似地A-输入控制电路54向A-输入多路复用器50提供一个“控制A”信号。该控制A信号 允许A-输入多路复用器50取反累加器58的内容使得这些内容得以从ALU52中的第一模糊输入中减去。
在收到第一模糊输入值和已取反的累加器内容之值时,ALU52将累加器58的内容($FF)从第一模糊输入($33)中减去而提供一个结果。该结果为一负数($33)-$FF=-$CC),并且N信号是取正状态。该取正的N信号经由结果总线120传送。如果该结果已为正值,则N标记就不会设定并且取反的N信号就会经由结果总线120提供。该减法运算的数值结果是不必要的,因而在其后的算述运算中被重新写入。
寄存器交换逻辑46可使用户确定一规则的每一模糊输入中的极小隶属度并继而应用这一最小隶属度作为对于由该规则所规定的每个动作的规则强度。在操作过程中,寄存器交换逻辑46是否能够转换累加器58及数据缓冲器40的内容取决于VCCR与N信号的值。
寄存器交换逻辑46接收VCCR信号,N信号以及定时控制信号以便控制累加器58与数据缓冲器40内容的转换。如前面所提及,当从内部存储器32向执行单元14提供模糊输入值时,VCCR信号保持取反的状态。又ALU52提供N信号以指示出从数据缓冲器40中减去累加器58的内容的结果是正的还是负的。如果累加器58的内容大于存储在数据缓冲器40中的第一模糊输入,则N信号取正而指示出负的结果。反之,如果第一模糊输入小于累加器58的内容,则N信号保持取反的状态以指示正的结果。在由定时电路28所确定的适当时间,定时控制信号取正而使得寄存器交换逻辑电路46或将累加器58的内容传送到数据缓冲器40,将数据缓冲器40的内容传送到累加器58,或使得累加器58与数据缓冲器40的内容保持相同。
在规则1的“如果”部分计值过程中,当累加器58的内容从第一模糊输入中减去时,则产生一个负的结果($33-$FF=-$CC)。于是N信号保持取正状态。又VCCR信号被取反而指示出模糊输入正从内部存储器32被检索。当定时控制信号被取正时,与门62的输出等于零且允许A信号非为取正。然而反相器68的输出取正而使得与门70能够将允许B信号取正。当允许B信号被取正时,选择器44允许将数据从数据缓冲器40传送到累加器58。就此而言,最小隶属度为$33并存储在累加器58中。
类似地,规则1的第二模糊输入提供给数据缓冲器40。该第二模糊输入是第二***输入在低气压(Plight)隶属集合中所具有的隶属度。在本例是,该隶属度具有十六进制值$00。又内部存储器32经由外部信息总线41将第二模糊输入的隶属度提供给执行单元14的数据缓冲器40。
为确定最小隶属度,第一模糊输入要从第二模糊输入中减去。在执行单元14中,在根据由微—只读存储器控制总线65所传送的定时信号所确定的一个时间点上,第一模糊输入提供给A-输入多路复用器50而第二模糊输入提供给B-输入多路复用器56。B-输入控制电路54向B-输入多路复用器56的控制操作提供一个“控制B”信号。在本例中,控制B信号允许B-输入多路复用器56向ALU52传送一个未修改的第二模糊值。类似地,A-输入控制电路54向A-输入多路复用器50提供一个“控制A”信号。该控制A信号允许A-输入多路复用器50将第一模糊输入取反而使之得以在ALU52中从第二模糊输入中减去。
在收到第二模糊输入值和已取反的第一模糊输入值时,ALU52从第二模糊输入值中减去第一模糊输入值而再次提供一个负的结果。于是N信号被取正。又VCCR信号被取反而指示有模糊输入正从内部存储器32中被检索。
当定时控制信号被取正时,与门62的输出等于零而允许A信号为非取正的。在些第一个例子中,与门70将允许B信号取正。当允许B信号被取正时,使得选择器44能够把数据从数据缓冲器40传送到累加器58。因而,就此而言,最小隶属度为$00并存储在累加器58之中。
在用于规则1的模糊输入的存储单元的结尾处,缓冲器地址就由比较器72识别出来。比较器72将取正的触发翻转信号提供给条件码逻辑电路47。条件码逻辑电路47这时将条件码信号提供给条件码寄存器,使得条件码寄存器60的V位(空位,下同)触发翻转而提供一个取正的VCCR信号。如前面所作的说明,VCCR信号被取正以指示出规则1的模糊输出地址是下一个要从内部存储器32中检索的地址。这里所述的例子中,VCCR信号被取正是在执行REV指令的“则”部分过程中当规则1的模糊输出地址从内部存储器32被检索时。
当选定了多个模糊输出之一时,就执行一个最大操作。因而对于REV指令的“则”部分,向每一模糊输出指定了一个最大规则强度。如前所述,应该向每一模糊输出指定一最大规则强度。因而作为执行REV指令“如果”部分的结果而存储在累加器58的最小隶属度值要同当前存储在内部存储器32的模糊输出地址处的规则强度值进行比较。在执行REV指令的“则”部分过程中当前规则强度值是驻存在累加器58中的。最大规则强度值总是存储在内部存储器32中的。如前面所讨论的那样,最小隶属度值是在REV指令的第一部分中计算的,其中对每一模糊输入的隶属度作比较以便确定最小值。
模糊输入的最小值保留在累加器58中。这时指向当前正被计值规则的模糊输出的地址指针由规则数组中提供。执行单元14中的下标寄存器(未表示出来)将该指针递增以便指向第一模糊输出的一个地址。在本例中,该指针是递增到地址$E006。在该地址$E006处,提供了第一模糊输出的十六进制地址$2000。由于数据处理***10的用户在REV指令执行之前指定了存储在模糊输出数组中所有的数据值为十六进制值$00,故当访问地址$2000时,内部存储器32提供的是十六进制值$00。然后该模糊输出值($00)经由内部信息总线41提供给数据缓冲器40,该模糊输出值存储在缓冲器中供继后的操作之用。
为了确定最大规则强调值,要从数值缓冲器40中减去累加器58的内容而确定哪一个具有较大值。换言之,在规则计值步骤的“如果”部分过程中计算出来的最小隶属度值要从当前存储在规则1的第一模糊输出的地址单元中的规则强度值中减去。为了执行这一功能,累加器58的内容要提供给信息总线A66,并且数据缓冲器40的内容要提供给信息总线B64。又多种控制和定时信号要经过微—只读存储器控制总线65提供给执行单元14。这些多种控制与定时信号是作为REV指令解码的结果由图2的指令解码逻辑18提供的。
在执行单元14中,存储在累加器58中的最小隶属度值在根据经由微—只读存储器控制总线56传送的定时信号所确定的时间点处提供给A-输入多路复用器50以及存储在数据缓冲器40中的当前模糊输出值提供给B-输入多路复用器56。B-输入控制电路54提供控制B信号用以控制B-输入多路复用器56的操作。在本例中,控制B信号允许B-输入多路复用器将来自内部存储器32未修改的模糊输出值传送给ALU52。类似地,A-输入控制电路48把控制A信号提供给A-输入多路复用器40。控制A信号使得A-输入多路复用器50对累加器58的内容取反以便用于ALU52中后继的减法操作。
在来自A-输入多路复用器50和B-输入多路复用器56的值都收到时,ALU52就从存储在对应于规则1的第一模糊输出的预定存储单元处的模糊输出值中减去存储在累加器58中的最小隶属度值。在这里所述的例子中,存储在累加器58中的值具有十六进制值$00。由于对规则1的每个模糊输出指定了十六进制值$00,于是ALU52提供的结果为$00。由于该答案非为负数,故N信号保持取反的状态并继而提供给寄存器交换逻辑46。
如上所讨论的那样,条件码寄存器60将VCCR信号提供给寄存器交换逻辑46。又定时控制信号是由外部源定时电路28提供给寄存器交换逻辑46的。在VCCR,N,以及定时控制信号都收到时,寄存器交换逻辑46将允许A及允许B信号都取反。于是选择器42及44分别为非允许态并使得数据缓冲器40与累加器58之间的数据不能传送。于是在内部存储器32中的第一模糊输出的规则强度不会被修改而仍具有十六进制值$00。
类似地,在确定规则1的第二模糊输出的规则强度过程中,存储在累加器58的值及由内部存储器32中检索出来的规则强度值都具有十六进制值$00。因而,ALU52又将N信号取反继而使得寄存器交换逻辑46将允许A与允许B信号都取反。于是在规则1计值之后,特定的模糊输出,动作1与动作2的每一个的规则强度都具有十六进制值$00。
又在用于规则1的模糊输出存储单元的结尾处,由比较器72识别出缓冲器地址。比较器72将取反的触发翻转信号提供给条件码逻辑电路47。条件码逻辑电路47把条件码信号提供给条件码寄存器,使得条件码寄存器60中V位触发翻转而提供一个已取反的VCCR信号。如上所述,VCCR信号的取反即是指示规则2的模糊输入的地址是下一个要从内部存储器32中检索的地址。在这里所描述的例子中,VCCR信号的取反是在执行REV指令的“如果”部分过程中发用于规则2的模糊输入地址要从内部存储器33检索出来的时候。当VCCR信号取反时,累加器58的内容重又初始化为$FF值。
继续执行REV指令要求对规则2计值。如前所述,控制单元20提供从内部存储器32到执行单元14传送规则2的每一模糊输入所必须的一系列定序控制信号。在规则2计值过程中,内部存储器32提供了在其中存储了温暖气温隶属集中第一***输入的隶属度的第一个地址。在这里所述的例子中,该地址将指向内部存储器32中的十六进制地址$1002。当地址$1002从内部存储器32被访问时,具有十六进制值$CC的隶属度经由内部数据总线34提供给数据缓冲器40。
如同在规则1计值过程中那样,规则2的第一模糊输入与累加器58的初始化内容进行比较。当第二缓冲器地址被识别时,累加器58再次初始化为十六进制值$FF。因而根据前述的方法检测最小值并把$CC存储在累加器58之中。
类似地,规则2的第二模糊输入提供给数据缓冲器40。该第二模糊输入为第二***输入在中等气压隶属集合中所具有的隶属度。本例中,该隶属度具有十六进制值$FF。
为了确定最小隶属度,ALU52从第二模糊输入中减去第一模糊输入而提供一个正的结果$33。由于该结果为正,则N标志被清除并且经结果总线120提供已取反的N信号。
此后,寄存器交换逻辑46接收VCCR信号,N信号,以及定时控制信号以便控制累加器58与数据缓冲器40的内容的转换。寄存器交换逻辑46将允许A与允许B信号都取反。最小隶属度16进制$CC,仍然存储在累加器58之中。
在用于规则2的模糊输入的存储单元的结尾处,比较器72识别出缓冲器地址。比较器72向条件码逻辑电路47提供取正的触发翻转信号。然后条件码逻辑电路47将条件码信号提供给条件码寄存器使得条件码寄存器60中的V位触发翻转而提供一个取正的VCCR信号。如前所述,VCCR信号被取反而指示规则2的模糊输出的地址是下一个要从内部存储器32检索的地址。
规则2的模糊输入的最小值保留在累加器58中。当前正被计值的规则的模糊输出然后从规则数组中提供。执行单元14中的下标寄存器将指向第一模糊输出地址的指针增加。本例中,该指针增加到地址$E012。在地址$E012处,提供了第一模糊输出的地址即十六进制的地址$2002。因为在执行REV指令之前数据处理***10的用户将所有存储在模糊输出数组的数据值指定为十六进制值$00,故当访问地址$2002时,内部存储器32提供十六进制值$00。然后模糊输出值$00经由外部信息总线41提供给数据缓冲器40,其中存储的模糊输出值供继后的操作之用。
然后ALU52从存储在数据缓冲器40中的十六进制值$00中减去存储在累加器58中的十六进制值$CC。结果是一负的$CC值且N信号被取正。当N,VCCR,及定时信号者提供给寄存器交换逻辑46时,寄存器交换逻辑46将允许A信号取正而将允许B信号取反。
当允许A信号取正时,选择器42就能够将累加器58的内容驱动到数据缓冲器40。数据缓冲器40暂时把上述的由累加器58提供的最小隶属度值($CC)作为最大规则强度值存储起来。而且数据缓冲器40把该最大规则强度值传送给规则2的第一模糊输出的地址单元($2002)。于是在执行REV指令过程的这一点时,值$CC是内部存储器32中的地址$2002处的动作3的当前规则强度值。
又在规则2的模糊输出存储单元的结尾处,比较器72识别出缓冲器地址。比较器72将一个取正的触发翻转信号提供给条件码逻辑电路47。条件码逻辑电路47将条件码信号提供给条件码寄存器使得条件码寄存器60中的V位触发翻转而提供一个取反的VCCR信号,如前所述,VCCR信号取反以指示着规则3的一个模糊输入的地址是下一个要从内部存储器32中被检索的地址。在这里所述的例子中,VCCR信号被取反是在执行REV指令的“如果”部分过程中当规则3的模糊输入的地址从内部存储器32被检索的时候。当VCCR信号取反时,累加器58的内容重又初始化为$FF值。
继续执行REV指令就开始对规则3计值。如前所述,CPU12的控制单元20将提供从内部存储器32到执行单元14传送规则3的每一模糊输入所必须的一系列定序控制信号。在对规则3计值过程中,内部存储器32提供第一个地址,在该地址处存储了第二***输入在中气压隶属集中的隶属度。在这里所述的例子中,该地址是指向内部存储器32中十六进制地址$1005的。当从内部存储器32访问地址$1005时,值为十六进制的$FF的隶属度就经内部数据总线34提供给数据缓冲器40。
如前所述,当VCCR信号被取反时,累加器58的内容就初始化为$FF。当存储在数据缓冲器40中的隶属度由ALU52从累加器58的内容中减去时,产生的结果为零。由于结果非负,故N信号不取正于是寄存器交换逻辑56不将允许A取正或不将允许B信号取正而数据缓冲器40和累加器58之间也就不传送信息。
在规则3的模糊输入的存储单元的结尾处,比较器72识别出缓冲器地址。比较器72将取正的触发翻转信号提供给条件码逻辑电路47。之后条件码逻辑电路47把条件码信号提供给条件码寄存器60使得条件码寄存器60中的V位触发翻转而提供一个取正的VCCR信号。如前所述,VCCR信号取正即指示出规则3的模糊输出的一地址是下一个要从内部存储器32中检索的地址。
这之后,规则3的模糊输出地址从内部存储器32中被访问并向数据缓冲器40提供一个十六进制值$CC。该十六进制值$CC是作为规则2的一个计值结果而提供的,其中的模糊输出,动作3,被赋值成规则强度值为十六进制的$CC。于是十六进制值$CC提供给数据缓冲器40。
然后ALU52从存储在数据缓冲器40中的$CC的十六进制值中减去存储在累加器58中的$FF的十六进制值。结果是负值$-33。当提供给寄存器交换逻辑46是,寄存器交换逻辑46将允许A取正。于是选择器42就能够从累加器58到数据缓冲器40输送数据。数据缓冲器40把最小隶属度值传送到规则3的模糊输出即动作3输出的地址单元。于是在执行REV指令过程的这一时刻,十六进制值$FF即是动作3的当前规则强度值。
在规则3计值之后,指示待计值的规则数组结束的一个特定缓冲器地址由比较器72检测到,于是REV指令终止。这时,规则1,2与3均已被计值且相应的模糊输出也已被赋予了规则强度值。在这里所述的例子中,动作1与2每一个都赋予十六进制的$00这样的规则强度。而且,动作3被赋成规则强度值为十六进制的$FF。然后,每个动作都是作为模糊输出而提供给非模糊化程序而用以对于数据处理***10确定适当的动作的。例如,动作3可非模糊化为打开阈门或接通风扇。又动作1至动作3的规则强度可非模糊化以确定风扇接通或阈门打开的程度。非模糊化的操作在数据处理技术中是熟如的事情,故不必在此详释。
于是,在数据处理***20中执行REV指令过程中,规则1、规则2以及规则3都被快速地计值而所用的附加电路量是较少的。图3中所示大部分电路是通常在数据处理器中用于执行普通处理任务的。为了实现本发明需要的仅只是在微一只读存储器中少量的附加存储器和少量的附加指令解码逻辑。又在执行单元14中,除传统上所需的逻辑而外尚需要比较器72和寄存器开关逻辑电路46。
由于全部的规则计值步骤是完全在执行REV指令过程中进行的,故达到了较快的执行时间。在规则计值步骤先前的实现方法中需要带有很多步骤的软件程序。例如,应用MC68HC11指令集合而实现的软件程度通常要三十个指令来执行计值步骤。而REV指令代替了MC68HC11程序所有的三十一个指令。因而通常执行规则计值步骤所需的执行时间通过执行单一的REV指令而显著地减少了。
而且REV指令非常灵活而不需要固定数目的模糊输入与模糊输出。通过检测缓冲器地址和相应地设置VCCR信号,执行单元14就分别提供了模糊输出和模糊输入的最大或最小值。数据处理***10的用户只需要在内部存储器32中预定的单元中存储用于待计值的规则的格式。将规则存储在预定的存储单元之中的先有技术的方法中,规则必须跟随对每一规则具有第一个预定数目的模糊输入和第二个预定数目的模糊输出。如果不检测缓冲器地址且又对每一规则要求固定数目的模糊输入和模糊输出,那么对于那些具有较少模糊输入和模糊输出的规则来说势必浪费大量的存储空间。
又由于诸规则是存储在存储器的一个数组中而可以无需从外部源中断而进行计值,于是对于每一REV指令可对一个以上的规则进行计值。在第一个规则计值之后,第二个规则可以立即进行计值而无需从数据处理***10的用户那里检索补充的信息。直至该数组的结尾到达之前均可对规则进行检索。数组的结束是由特殊的缓冲器地址指示的。先前方法中在执行规则计值步骤过程中,每一规则是被分别计值的。因而应用以前的软件技术对多规则进行计值所需要的时间就长于用REV指令对同样多的规则计值所需的时间。
这里所陈述的本发明的实现方法中,REV指令的执行不会损失任何中间结果而可进行中断。中断处理之后,REV指令的执行可在REV指令中断处的地方恢复。REV指令之所以可以中断是因为指向内部存储器32中的规则数组的指针在中间期间是存储在仍然保留的下标寄存器之中。而且在中断过程中VCCR位的状态不会改变。这是因为VCCR位的状态是存储在条件码寄存器60之中,在中断操作过程中该处理器状态寄存器是不会改变的。最大和最小操作的中间结果也存储在累加器58之中。在中断操作过程中累加器58也是不会改变的。于是当处理大数量的规则时,虽然REV指令要耗费时间,但是该指令可由数据处理***10的用户中断以便执行更为紧迫的操作。当该较紧迫的操作完成之后,REV指令的执行即可恢复。
这里所描述的本发明的实现仅只是以一个例子的方式提供的。然而可能存在许多其他的实现方式用于执行这里所描述的功能。例如,待计值的规则的规则库的启动可以作为REV指令的一个操作数而提供。又数据处理***10的外部储器电路可用于存储每一规则以及在这些规则计值过程中所应用的模糊输入。而且虽然在本发明的这一实现方式中应用N和VCCR信号来控制寄存器交换逻辑46的操作,但是数据处理***10之中的其他信号也适于使用。而且寄存器交换逻辑56中所使用的逻辑门也可用其他逻辑电路替代,如象NAND(与非)门,OR(或)门,NOR(或非)门,或者Exclusive-OR异或门。
这里虽然已描述了本发明的原理,但对于本专业技术人员来说能够清楚地理解的是这一描述仅是以例子的方式作出的并且该描述不能作为本发明所及范围的限制。于是,所附权利要求就是要涵盖所有属于本发明实质精神和范围的变形。
Claims (10)
1.用于操作数字式数据处理器以执行模糊规则计值操作的方法,该方法以下述步骤为特征:
1)从一个存储单元检索一个地址值;
2)将该地址值与一个第一边界值进行比较,如果该地址值与该第一边界值符合则终止该模糊规则计值操作;
3)将该地址值与一个第二边界值进行比较,如果该地址值与该第二边界值符合则改变一个第一标记信号的状态;
4)如果该地址值与第一及第二边界值都不符合而且第一标记信号处于第一状态,则从该地址值所指定的存储单元中检索一个隶属函数值并使用该隶属函数值执行一个第一算术运算;
5)如果该地址值与第一及第二边界值都不符合而且第一标记信号处于第二状态,则从由该地址值指定的存储单元中检索一个结论值,应用该结论值执行第二算术运算并将该第二算术运算的结果有选择地写入由该地址值所指定的存储单元;以及
6)重复步1)-5)。
2.根据权利要求1的方法,其中从其检索地址值的存储单元是由包含在一个下标寄存器中的地址所指定,又该方法还以下述步骤为特征:
将包含在该下标寄存器中的地址增值。
3.根据权利要求1的方法,其中执行第一算术运算的步进而以下述步骤为特征:
从隶属函数值中减去包含在数据寄存器中的一个值;以及
如该减法步结果为负则以该隶属函数值代替包含在该数据寄存器中的值。
4.根据权利要求3的方法,执行第二算术运算的步进而以下述步骤为特征:
从包含在数据寄存器中的值减去该结论值;以及
如果该减法步结果为正则以包含在数据寄存器中的值代替存储在由该地址值所指定的存储单元处的结论值。
5.操作数字式数据处理***以执行模糊规则计值操作的方法,该方法以下述步骤为特征:
1)通过执行以下步骤而从存储器中检索多隶属函数值:
i)从存储器中的一个单元检索一地址值;
ii)判断该地址值是否符合一个第一边界值;
iii)如果该地址值符合该第一边界值,则终止该多隶属函数值的检索步骤;
iv)如果该地址值不符合该第一边界值,则从由该地址值所指定的该存储器的一个单元中检索一隶属函数值;以及
v)重复步1)i)-1)iv);
2)判断该多隶属函数值中最小的一个;以及
3)通过执行以下步骤而判定多结论值:
i)从存储器中一个单元检索一个地址值;
ii)判定该地址值是否符合第二边界值;
iii)如果该地址值符合该第二边界值,则终止该多结论值判定步骤;
iv)如果该地址值不符合该第二边界值,则从由该地址值指定的存储器的一个中检索一结论值;
v)将检索出来的结论值与该多隶属函数值的最小值进行比较;
vi)如果检索出来的结论值小于该多隶属函数值的最小值则将该多隶属函数值的最小值存储在由该地址值所指定的存储器单元处;以及
vii)重复步3)i)-3)vi).
6.根据权利要求5的方法,其中判定多隶属函数值最小值的步还以下述步骤为特征:
从隶属函数值中减去包含在一个数据寄存器的值;以及
如果该减法步的结果为负则以隶属函数值代替包含在该数据寄存器中的值。
7.根据权利要求5的方法,其中该方法由对一单独的指令进行解码而启动。
8.操作数字式数据处理***以执行模糊规则计值操作的方法,该方法以下述步骤为特征:
对一个第一指令进行解码;以及
应响对该经一指令的解码而执行以下步骤:
1)从由一个标寄存器的内容所指定的存储器单元检索一地址值;
2)将该下标寄存器的内容加1;
3)将该地址值与一个第一边界值比较,如果该地址值与该第一边界值符合则终止执行该第一指令;
4)将该地址值与一个第二边界值比较,如果该边界值与该第二边界值符合则更变第一标记信号的状态;
5)如果该地址值与第一及第二边界值都不符合且第一标记信号处于一个第一状态,则从由该地址值所指定的存储单元中检索一个第一数据值并应用该第一数据值执行一个第一算术运算;
6)如果该地址值与第一及第二边界值都不符合且第一标记信号处于一个第二状态,则从由该地址值所指定的存储单元中检索一个第二数据值并应用该第二数据值执行一个第二算术运算,将该第二算术运算的结果选择地写入由该地址值所指定的存储单元;以及
7)重复步1)至6)。
9.根据权利要求8的方法,其中的第一算术运算又以下述步骤为特征:
从该数据值中减去包含一数据寄存器中的一个值;以及
如果该减法步的结果为负,则以该数据值代替包含在该数据寄存器中的值。
10.根据权利要求9的方法,其中执行第二算术运算的步又以下述步骤为特征:
从包含在该数据寄存器中的值中减去该数据值;以及
从包含在该数据寄存器中的值减去该数据值所得的结果,如果为正,则将该结果写入由该地址值所指定的存储单元中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/899,968 US5263125A (en) | 1992-06-17 | 1992-06-17 | Circuit and method for evaluating fuzzy logic rules |
US899,968 | 1992-06-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1080412A CN1080412A (zh) | 1994-01-05 |
CN1052315C true CN1052315C (zh) | 2000-05-10 |
Family
ID=25411790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN93106697A Expired - Fee Related CN1052315C (zh) | 1992-06-17 | 1993-06-05 | 用于模糊逻辑规则计值的方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US5263125A (zh) |
EP (1) | EP0574713B1 (zh) |
JP (1) | JP3207299B2 (zh) |
KR (1) | KR100199911B1 (zh) |
CN (1) | CN1052315C (zh) |
DE (1) | DE69326102T2 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5497449A (en) * | 1990-11-30 | 1996-03-05 | Olympus Optical Co., Ltd. | Fuzzy inference apparatus |
US5371832A (en) * | 1992-06-12 | 1994-12-06 | Siemens Aktiengesellschaft | Fuzzy logic controller having high processing speed |
IL107409A (en) * | 1992-10-30 | 1999-03-12 | Gen Electric | Electronic control system for devices with programmable parameters containing vague logic control that can be programmed and reconfigured |
JPH06175854A (ja) * | 1992-12-04 | 1994-06-24 | Nec Corp | ファジィ推論専用命令を内蔵するマイクロコンピュータ |
DE59402938D1 (de) * | 1993-09-20 | 1997-07-03 | Siemens Ag | Verfahren zur beschleunigten regelauswertung in einem fuzzy-inference-prozessor und vorrichtung zu dessen durchführung |
US5706497A (en) * | 1994-08-15 | 1998-01-06 | Nec Research Institute, Inc. | Document retrieval using fuzzy-logic inference |
US5687289A (en) * | 1994-12-16 | 1997-11-11 | Motorola, Inc. | Circuit and method for determining membership in a set during a fuzzy logic operation |
US5671332A (en) * | 1994-12-22 | 1997-09-23 | Motorola, Inc. | Data processing system for performing efficient fuzzy logic operations and method therefor |
EP0718753A1 (en) * | 1994-12-22 | 1996-06-26 | Motorola, Inc. | Data processing system for evaluating fuzzy logic rules and method therefor |
DE69531772D1 (de) * | 1995-03-30 | 2003-10-23 | Cons Ric Microelettronica | Fuzzy-Prozessor-Architektur |
US5784534A (en) * | 1995-03-31 | 1998-07-21 | Motorola, Inc. | Circuit and method for representing fuzzy rule weights during a fuzzy logic operation |
CN103064652B (zh) * | 1995-08-31 | 2016-07-20 | 英特尔公司 | 控制移位分组数据的位校正的装置 |
US5684928A (en) * | 1995-12-11 | 1997-11-04 | Motorola, Inc. | Circuit and method for evaluating fuzzy logic rules |
US5737493A (en) * | 1995-12-11 | 1998-04-07 | Motorola, Inc. | Instruction set for evaluating fuzzy logic rules |
EP0851342B1 (en) * | 1996-12-27 | 2003-05-14 | STMicroelectronics S.r.l. | Coding and memorizing method for fuzzy logic rules and circuit architecture for processing such rules |
KR100691602B1 (ko) * | 2005-01-14 | 2007-03-12 | 후지쯔 가부시끼가이샤 | 정보 배신 장치 및 이동 단말기 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SU913367A1 (ru) * | 1980-06-30 | 1982-03-15 | Eduard P Chernakov | Устройство для сравнения двоичных чисел 1 |
JPH0650442B2 (ja) * | 1983-03-09 | 1994-06-29 | 株式会社日立製作所 | 設備群制御方法およびシステム |
US5168549A (en) * | 1988-05-20 | 1992-12-01 | Matsushita Electric Industrial Co., Ltd. | Inference rule determining method and inference device |
US4918620A (en) * | 1988-06-16 | 1990-04-17 | General Electric Company | Expert system method and architecture |
US5036730A (en) * | 1988-06-17 | 1991-08-06 | Honda Giken Kogyo Kabushiki Kaisha | Vehicle automatic transmission control system |
US5175795A (en) * | 1988-07-29 | 1992-12-29 | Hitachi, Ltd. | Hybridized frame inference and fuzzy reasoning system and method |
US5165011A (en) * | 1988-09-22 | 1992-11-17 | Omron Tateisi Electronics Co. | System for switching a rule group |
JP3067023B2 (ja) * | 1988-09-29 | 2000-07-17 | オムロン株式会社 | ファジィデータ送信方法、ファジィデータ送信装置、ファジィデータ受信方法、ファジィデータ受信装置およびファジィデータ通信装置 |
JPH02140804A (ja) * | 1988-11-21 | 1990-05-30 | Maikomu Kk | プログラマブルロジック回路 |
US5179634A (en) * | 1989-04-14 | 1993-01-12 | Omron Corporation | System for synthesizing new fuzzy rule sets from existing fuzzy rule sets |
JPH02273834A (ja) * | 1989-04-14 | 1990-11-08 | Omron Corp | ファジィ推論装置 |
US5058033A (en) * | 1989-08-18 | 1991-10-15 | General Electric Company | Real-time system for reasoning with uncertainty |
US5170357A (en) * | 1989-10-31 | 1992-12-08 | Yokogawa Electric Corporation | Paper machine controller for operating slices and method of controlling the same |
-
1992
- 1992-06-17 US US07/899,968 patent/US5263125A/en not_active Expired - Lifetime
-
1993
- 1993-05-17 DE DE69326102T patent/DE69326102T2/de not_active Expired - Fee Related
- 1993-05-17 EP EP93107987A patent/EP0574713B1/en not_active Expired - Lifetime
- 1993-06-02 JP JP15607593A patent/JP3207299B2/ja not_active Expired - Lifetime
- 1993-06-05 CN CN93106697A patent/CN1052315C/zh not_active Expired - Fee Related
- 1993-06-16 KR KR1019930010961A patent/KR100199911B1/ko not_active IP Right Cessation
Non-Patent Citations (1)
Title |
---|
1992 IEEE INTERNAIONAL SYMPOSIUM ON CILCUITS AND SYST MODELING AND SIMULATION OF A PARAMETERIZED FUZZY PROCESSOR BOR-TOWU * |
Also Published As
Publication number | Publication date |
---|---|
DE69326102D1 (de) | 1999-09-30 |
EP0574713A2 (en) | 1993-12-22 |
EP0574713A3 (zh) | 1994-04-20 |
CN1080412A (zh) | 1994-01-05 |
JPH0651987A (ja) | 1994-02-25 |
EP0574713B1 (en) | 1999-08-25 |
JP3207299B2 (ja) | 2001-09-10 |
KR940000992A (ko) | 1994-01-10 |
KR100199911B1 (ko) | 1999-06-15 |
US5263125A (en) | 1993-11-16 |
DE69326102T2 (de) | 2000-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1052315C (zh) | 用于模糊逻辑规则计值的方法 | |
US3229260A (en) | Multiprocessing computer system | |
CN1121014C (zh) | 具有risc结构的八位微控制器 | |
CN1655118A (zh) | 处理器和编译器 | |
JP2006509306A (ja) | 関係アプリケーションへのデータ処理システム相互参照用セルエンジン | |
WO1995029448A1 (en) | Automated problem formulator and solver | |
CN1058344C (zh) | 数据处理***中进行模糊逻辑运算的方法和数据处理*** | |
CN1278931A (zh) | 特别适于译码数字音频信号的数字信号处理器 | |
CN1146784C (zh) | 用字长短的指令实现多个寄存器的数据传送的信息处理装置 | |
US20200073794A1 (en) | Electronic device and memory controller and associated accessing method | |
CN1194321C (zh) | 高速信息检索*** | |
CN1133457A (zh) | 估计模糊逻辑规则的数据处理***及其方法 | |
TWI335532B (en) | Computer having dynamically-changeable instruction set in real time | |
US4972342A (en) | Programmable priority branch circuit | |
CN1167299A (zh) | 用于评估模糊逻辑规则的电路和方法 | |
CN1133994A (zh) | 执行有效模糊逻辑运算的数据处理***及其方法 | |
Rafiquzzaman | Fundamentals of Digital Logic and microcontrollers | |
CN1010265B (zh) | 单个半导体芯片上的多处理机 | |
US5805774A (en) | Circuit and method for determining membership in a set during a fuzzy logic operation | |
JPH11345127A (ja) | コンパイラ | |
US5737493A (en) | Instruction set for evaluating fuzzy logic rules | |
Flik et al. | Programming Techniques | |
SE426109B (sv) | Mikrokalkylatorprocessor | |
JPH0916584A (ja) | 文書作成装置及び仮名漢字変換方法 | |
JP2003256487A (ja) | 設計支援システム及び設計支援方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
ASS | Succession or assignment of patent right |
Owner name: FREEDOM SEMICONDUCTORS CO. Free format text: FORMER OWNER: MOTOROLA, INC. Effective date: 20040813 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20040813 Address after: Texas in the United States Patentee after: FreeScale Semiconductor Address before: Illinois, USA Patentee before: Motorola, Inc. |
|
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20000510 |