JPH02294831A - デジタルファジィ回路 - Google Patents

デジタルファジィ回路

Info

Publication number
JPH02294831A
JPH02294831A JP1116991A JP11699189A JPH02294831A JP H02294831 A JPH02294831 A JP H02294831A JP 1116991 A JP1116991 A JP 1116991A JP 11699189 A JP11699189 A JP 11699189A JP H02294831 A JPH02294831 A JP H02294831A
Authority
JP
Japan
Prior art keywords
circuit
output
fuzzy
input
outputs
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.)
Pending
Application number
JP1116991A
Other languages
English (en)
Inventor
Azuma Miyazawa
東 宮沢
Koji Mizobuchi
孝二 溝渕
Takashi Suzuki
隆 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Olympus Corp
Original Assignee
Olympus Optical Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Olympus Optical Co Ltd filed Critical Olympus Optical Co Ltd
Priority to JP1116991A priority Critical patent/JPH02294831A/ja
Publication of JPH02294831A publication Critical patent/JPH02294831A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Feedback Control In General (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、ファジィ推論を行なうデジタルファジィ回路
に係り、特にファジィ推論入力値もあいまいな値として
パラメータで設定できるデジタルファジィ回路に関する
[従来の技術] 周知のように、ファジィ理論は、1974年にロンドン
大学のマダムニ教授により提案され、その後、種々の実
現手段が提案されている。その代表的な例として、たと
えば文献、IEIEE IEXPEI?T(Aug.1
986年)には、ノースカロライナ大学やAT&Tベル
研究所で実施した、ファジィ推論入力値にあいまいさを
持たせたメモリ方式によるファジィ推論技術が開示され
ている。
〔発明が解決しようとする課’XJ3 しかし、上記メモリ方式は、あいまいなデータをメンバ
シップ値として離散的にメモリ上に表わしているため、
ファジィ推論のための演算はシリアルに行なわなければ
ならず、その結果、推論速度をあまり速くすることはで
きないという問題があった。
本発明は、このような課題に着目してなされたもので、
その目的とするところは、ファジィ推論入力値もあいま
いな値としてパラメータで設定でき、推論速度の高速化
が図れるデジタルファジィ回路を提供することにある。
[課題を解決するための手段】 本発明は、ファジィ推論を行なうデジタルファジィ回路
において、あいまいな入力値を入力メンバシップ関数と
して入力するデータ入力手段と、このデータ入力手段で
入力されたあいまいな入力値とファジィルールの前件部
メンバシップ関数とから、前記あいまいな入力値を確定
入力値に変換する変換手段とを具備したことを特徴とし
ている。
[作 用] 本発明によるデジタルファジィ回路は、あいまいなデー
タを少ないパラメータで表現することにより、複数のあ
いまいなデータをパラレルに処理することが可能であり
、その結果、ファジィ推論が高速に行なえる。
[実施例1 まず、本発明の実施例を説明するに先立って、第9図を
参照してファジィ推論の概要について説明する。ファジ
ィ推論とは、人間が0常の中で使用するあいまいな言葉
で表現したファジィ・ルール(ファジィ推論規則)を用
いた推論である。ファジ4’ルールはrH A−BIG
 and 13−NORMAL LhonX−SMAL
LJのように記述できる。
第9図において、A,Bは入力変数、Xは出力変数であ
る。ルールが成立するための条件を書いた部分であるf
ir A−BIC and B−NORMAL Jを前
件部、その結論部分であるrX−SMALL Jを後件
部という。ファジィ推論では、各入力変数を0〜1の値
に変換して演算するが、この変換を定義するのがメンバ
シップ関数(前件部メンバシップ関数)である。
メンバシップ関数は、ファジィ・ルールで取扱う命題(
BIG, NORMAL. SMALLなど)ごとに定
義されている。メンバシップ関数を参照して入力変数が
各命題を満足する度合いを計算する。前件部に命題が複
数ある場合は、そのうちの最小値を求める。これを最小
値(M I N)演算という。次に、各ルールごとのメ
ンバシップ値を合成する。これは、各ルールの後件部を
比べ、その最大値をとり、新しいメンバシップ関数を作
ることにより行なわれる。これを最大値(MAX)演算
という。この合成されたメンバシップ関数の重心値が推
論結果(出力値)となり、これに基づいて後段の制御が
行なわれる。
なお、第9図にはファジィ推論方式の代表的な例を示し
たが、他にもいくつかの推論方式が提案されている。こ
こでは、第9図のファジィ推論方式にしたがって説明す
るが、本発明は他のファジィ推論方式を採用した場合で
も適応可能である。
次に、本発明の実施例について図面を参照して説明する 第8図は、上記したようなファジィ推論を行なうデジタ
ルファジィ回路の全体的な構成を示すものである。すな
わち、各ルールごとにファジィ推論回路FZ−1,FZ
−2,・・・が設けられ、ファジィ推論回路FZ−1,
FZ−2,・・・の各出力がメンバシップ関数合成回路
(最大値演算回路)940を介して重心演算回路950
に入力され、それから推論結果が出力されるようになっ
ている。
ファジィ推論回路FZ−1,FZ−2,・・・は、メン
バシップ関数定義回路910、最小値(M I N)演
算回路920、および後件部メンバシップ関数定義回路
930からなる。ここに、メンバシップ関数定義回路9
10は前件部入力の数だけ設けられている。メンバシッ
プ関数定義回路910は、メンバシップ関数定義パラメ
ータに基づきメンバシップ関数の定義を行ない、メンバ
シップ関数を参照して各前件部入力がルールを満足する
度合い(メンバシップ値)を計算し、出力する。ここで
は、メンバシップ関数定義回路910は1つのルール中
2つとしているが、3つ以上の場合もある。
各ルールごとのメンバシップ関数定義回路910から出
力された複数のメンバシップ値は、最小値演算回路92
0により最小値が選択され、後件部メンバシップ関数定
義回路930に倶給される。後件部メンバシップ関数定
義回路930は、後件部メンバシップ関数定義パラメー
タおよび後件部入力に基づき後件部メンバシップ関数の
定義を行ない、最小値演算回路920の出力からルール
に適合した後件部メンバシップ関数を作る。各ルールご
との後件部メンバシップ関数は、メンバシップ関数合成
回路940で最大値演算により合成される。この合成結
果がファジィ推論結果となる。
さらに、ファジィコントローラを実現する場合は1つの
確定値が必要であるので、合成結果の重心演算を行なう
。重心演算回路950は、合成されたメンバシップ関数
からその重心値を計算し、出力する。この出力がファジ
ィコン1・ロール用出力となる。
以下、各回路の詳細を説明する。まず、メンバシップ関
数定義回路910について説明する。
般に、メンバシップ関数は第10図に示すような曲線で
表現されるが、第11図に示すように直線で表現しても
実用上は問題ない。さらに、メンバシップ値は通常[0
.11の連続的な値をとるが、第11図のように離散的
な値から表現してもよく、この方がディジタル回路の設
計上、取扱い易い。
このため、メンバシップ関数を定義するために、第12
図のような16X32のマトリクスを考える。メンバシ
ップ値は[0.11を16分割して4ビットのバイナリ
コードで表現する。このようにすると、メンバシップ値
は0から15までの離散的な値となり、16X32のマ
トリクス上に表現できる。
一方、同様に入力変数の値も0から31までの5ビット
のバイナリコードで表現する。メンバシップ関数を第1
1図のような三角形とすれば、メンバシップ関数μ(X
)はメンバシップ値が最大値「15」を示す入力値XO
と入力値Xにおけるメンバシップ値の傾きKで定義する
ことができる。
この例では、入力Xは5ビット、メンバシップ関数μ(
X)は4ビットとしているが、使用状況に合せてビット
数を設定すればよく、このビット数に限定する必要はな
い。
メンバシップ関数の鎖は後段の演算で全部必要である訳
ではなく、前件部入力X1に対応したメンバシップ値μ
(XI )がiりられればよい。第12図の16X32
のマトリクス上でメンバシップ関数を定義すると、メン
バシップ関数μ(Xi )は次式で表わすことができる
μ(Xl)= 1 5−Kx l Xo−X1  l 
  ・・・(1)ここで、Xoはメンバシップ関数μ(
X)が最大値「15」を取るXの値、XIは前件部入力
、Kはメンバシップ関数の傾きを示す。第12図の例で
は、Xo =12,K−2である。
′fS13図は、上記(1)式に基づいて構成されたメ
ンバシップ関数定義回路910の第一例を示している。
この回路の入力は、定義パラメータXo,K1前件部入
力Xl1形状パラメータKIK2(後で説明する)であ
る。ここでは、まず、第1減算回路1でXoとXtの減
算結果の絶対値Xo−Xllを求める。次に、乗算回路
2でメンバシップ関数の傾きKと減算結果lXoXI 
 lとの積: Kx l Xo −XI  Iを求め、
第2減算回路3でメンバシップ値の最大値「15」とK
xlXo−Xllとの差:15−KXIXoXI  l
を求めることにより、入力値X1に対するメンバシップ
関数値μ(Xi )を得ることかできる。
このとき、第2減算回路3における減算の結果、「μ(
Xl )<OJとなり、アンダフローが発生した場合に
は、その減算結果、すなわちメンバシップ値μ(Xi 
)を最小値「0」に固定するために、第2減算回路3の
後にアンド回路4が設けられている。
なお、乗算回路2は、メンバシップ関数の形状を第11
図、第12図に示すような三角形(A関数と呼ぶ)の形
状から他の形状(N関数、SrI!I数、■関数)に変
換する回路(後で説明する)も含んでいる。メンバシッ
プ関数の形状は、パラメータKl,K2により第12図
に示すように変換される。A関数、N関数、S関数、■
関数の形状を第15図(a)〜(d)にそれぞれ示す。
第16図は、前記(1)式に基づいて構成されたメンバ
シップ関数定義回路910の第二例を示している。第1
6図では回路を簡単化するために、第13図の第2減算
回路3とアンド回路4との接続順番を逆にするとともに
、アンド回路4の代りにオア回路4aを用いている。
第17図に第16図の回路をディジタル論理回路で実現
した場合の具体例を示す。同図中の1.2,3.48は
、それぞれ第16図中の第1減算回路、乗算回路、第2
減算回路、オア回路に相当する。
第1減算回路1は、4つの4ビット全加算器5a,5b
,5c,5dを有する。全加算器5a〜5dは、第18
図に示すように、1ビットの全加算器FAを4個カスケ
ード接続してなる。全加e器FAの詳細を第19図に、
その入出力関係を第20図に示す。第1減算回路1は、
本来8ビットの減算回路として使用できるが、ここでは
第12図に示した16X32のマトリクス上でメンバシ
ップ関数の定義を考えているので、5ビットの減算回路
として使用している。
第1減算回路1の動作を実際に15−191−14を例
にとって、第21図〜第23v!Jを参照して説明する
.rl9Jおよび「5」を5ビットのバイナリコードで
表現すると、それぞれ“10011”,  “0010
1“となる。
「5」から「19」を減算するのであるから、“001
01” (−5)を第17図の入力Xo  (Dll,
 DI2, D13, 014, Dl5)“1001
1” (− 1 9)を入力X 1  ( D 21,
D 22, D 23, D 24, D 25)にそ
れぞれ入力する。
第1減算回路1は本来8ビット用であるので、便宜上、
XoおよびX1を8ビットで表現すると、第21図の符
号30.31で示すように”00000101゜ ”0
0010011’となる。X l  ( D 21− 
D 25)は入力後、インバータ回路6a,6b,6c
,6d,6eによって各ビットごとに反転され、11n
数表現“11101100゜ (第21図の符号32)
とされ、全加算器5a,5bに入力される。全加算S5
a,5bも本来は8ビット入力であるので、使用しない
上位3ビットは、あらかじめ゜1゜に固定されている。
同様に、Xo  ( D 11” D 15)も全加算
器5a,5bに入力される場合、8ビット入力のうちの
上位3ビットは“0゜に固定されている。
全加算器5a,5bでは、第22図の符号33で示すよ
うにXoとX1の補数、および“1“(全加算器5bの
キャリ入力CI)を加算する。
この加算結果は、第22図の符号34で示すように゜1
1110010”となり、この加算によってはオーバフ
ローは発生しない。そのため、全加算65aのキャリ出
力Coは“0″である。XIの8ビット補数表現とは2
55−Xiであり、第22図の符号33で示す加算は次
の演算と等しい。
Xo + (255−XI)+1 −256+ (Xo −Xi)       −(2)
したがって、この演算により全加算器5a,5bがオー
バフ口一を発生しないということは、Xo −Xi <
0ということであり、この場合は全加算器5a,5bに
よる加算結果がそのままlXo−Xllの値ということ
にはならない。
そこで、全加算器5aのキャリ出力Co(−“0゛)を
インバータ回路10で反転して“1゜とし、排他的オア
(EXOR)回路7a,7b,7c,7d,8a,8b
,8c,8dにより全加算器5a,5bの加算結果(8
ビット)の全ビットを反転して補数をとり、″0000
1101゜ (第22図の符号35で示す)とし、第2
3図に示すように全加算器5c,5dにて更に“1”を
加算する。すなわち、全加算器5c,5dは次のような
演算を行なう。
255 −  1256+  (Xo−Xi)l  +
1−256 −  1256+  (Xo−XI)1−
XI  −Xo                  
  ・・・(3)この結果、lXo =XIlが全加算
器5c,5dの出力として得られる。第23図の符号3
7で示すように、+5−191の答が“00001 1
 10” (−14)となる。
逆に、全加算器5a,5bの演算でオーバフ口一が発生
するということは、Xo−XI≧0ということであるの
で、この場合は、演算結果をそのまま出力すればよい。
全加算器5aでオーバフ口一が発生し、キャリ出力Co
が“1”となると、インバータ回路10により“0”が
排他的オア回路7a〜7d,8a〜8dの2入力のうち
の1つの入力に加えられるため、排他的オア回路7a〜
7d,8a 〜8dによる全加算2Si5a.5bの加
算出力の全ビットの反転は行なわれない。また、全加算
器5dのキャリ入力C1も“0”であるため、全加算器
5c,5dでは全加算器5a,5bの加算結果に“0”
が加算される。したがって、全加算器5a,5bの加算
結果が、そのまま全加算器5c,5dの加算結果として
出力される。
ここで、乗算回路2においてK≧1としているので、第
1減算回路1の出力は最大で「15」でよく、「16」
以上の場合には「0」とする必要がある。そこで、全加
算’J2 5 cのLSB出力Stをオア回路9a,9
b,9c,9dからなる回路11により、第1減算回路
1の減算結果が「16」以上の場合には、回路11の出
力は全ビットが“1゛となるようにしている。また、メ
ンバシップ関数μ(X)は4ビットとしているので、全
加算器5cの出力S2,S3,S4は使用する必要はな
い。
乗算回路2は、メンバシップ関数の形状を入力パラメー
タKl,K2により第11図、第12図のような三角形
から他の形状へ変換する形状変換回路2−1と、4ビッ
トのバイナリコード同士の乗算を行なう乗算回路2−2
とからなる。
形状変換回路2−1は、三角形メンバシップ関数(A関
数)に対して演算加工することにより、第15図(b)
.(c).(d)に示すN関数,S関数,■関数のメン
バシップ関数を求める回路である。メンバシップ関数の
形状は、パラメータKl.K2によって決まる。第14
図に示すように、Kl一“0“ K2−“0゛の場合に
は、形状変換回路2−1のアンド回路19a,19bの
出力は共に“0“となるため、排他的ノア(EXNOR
)回路20の出力は“1“となる。
これを受けてアンド回路23a,23b,23c,23
dは、入力D34, D33,  D32,  D31
の値をそのままD G4, D 63, D G2, 
D 81として出力する。
したがって、メンバシップ関数の形状はA関数(第15
図(a))となる。
N関数は、第15図(b)からも明らかなように、八関
数においてメンバシップ値が最大値をとる入力1iI′
iXo≧前件部入力X1のときにメンバシップ値を最大
値としたものである。Xo≧XlとはXo−Xi≧0で
あり、第1減算回路1における減算結果の正負を示す信
号(インバータ回路10の出力)KOが“0”のときに
、形状変換回路2−1の出力DC4〜DGIがすべて″
0”となればよい。ただし、後段の第2減算回路3では
補数値変換を行なうので、形状変換回路2−1の出力が
rOJ  (10進数)であった場合、第2減算回路3
への入力はrl5J,すなわちメンバシップ値の最大値
となる。K l−“O″.I(2−“1”の場合、アン
ド回路19aの出力は“0“となる。
また、排他的オア回路18の出力が″1″K2−“1”
により、アンド回路19bはインバータ回路21の出力
した値をそのまま出力する。
また、前述したように、アンド回路19aの出力は“0
”であるため、排他的オア回路20はアンド回路19b
の出力を反転して出力する。すなわち、この場合、排他
的オア回路20の出力はKOと等しいことになる。KO
は前述したようにXo−XI≧0、すなわちXo≧X1
のときに“0“となるため、IC l−“0“,I(2
−“1″のとき、アンド回路23a〜23dは全て“0
”を出力し、KO−“1”  (Xo <Xi )の場
合には、アンド回路23a〜23dは入力D34〜D3
1をそのまま出力する。したがって、Kl 一“0”,
K2−″1“のとき、A関数はN関数に変換されたこと
になる。
S関数は、第15図(C)からも明らかなように、N関
数とは逆にA関数においてXo<XlすなわちXo −
XI <Qのときにメンバシップ値を最大値としたもの
ということができる。Kl−“1″ K2−″0″の場
合、アンド回路19bの出力は゛0”となる。
また、排他的オア回路の出力が“1” Kl−“1“に
より、アンド回路19aはKOの値をそのまま出力する
。また、前述したように、アンド回路19bの出力は“
0”であるため、排他的オア回路20はアンド回路19
aの出力を反転して出力する。Kl −“1” ,K2
 − “0“のとき、Xo≧X1ならばKO − ”O
”であるから、排他的ノア回路20は“1“を出力し、
それを受けてアンド回路23a〜23dは入力D34〜
D31をそのまま出力する。また、Xo<XlならばK
O−“1゜であり、排他的ノア回路20は“0゜を出力
するため、アンド回路23a〜23dは全て“0゜を出
力する。したがって、K1−“1″K2−“0°のとき
、A関数がS関係へ変換されたことになる。
■関数は、その変換演算の性格上、後述する第2減算回
路3と組合せると回路が簡単になるため、後で説明する
第17図において、4ビット×4ビットの乗算回路2−
2は、全加算器14a,14b,14c,14d,14
e,14f,14g,14h,および半加算器13a,
13b,13c.13dをHする。半加算器(HA)1
3a〜13dの詳細を第24図に、その人出力関係を2
025図に示す。
乗算回路2−2は、2個の4ビットのバイナリコード入
力のうちの一方の各ビットを参照しながら、他方を左へ
1段ずつシフトして加算を繰返すことにより乗算を行な
っている。
乗算回路2−2の動作を実際に13X9−117を例に
とって、第26図を参照して説明する。「13」および
「9」を4ビットのバイナリコードで表現すると、それ
ぞれ“1101”“1001“となる。“1101”を
D41. D42.D43,  D44へ、 “100
1″″をD(il,  DB2.  D63,DG4へ
入力する場合を考えると、計算式は第26図に符号42
で示すようになる。まず、D41が“1″であるので、
アンド回路12a〜12dの出力はDCI〜D[i4の
“1゜または“θ″をそのまま出力する。また、D42
は“Omであるので、アンド回路12e〜12hの出力
は全て“0”となる。
半加算器13aは、アンド回路12bの出力とアンド回
路12eの出力とを加算する。全加算器14aは、アン
ド回路12Cの出力、アンド回路12fの出力、半加算
S13aのオーバフ口−(繰り上がり)Coを加算する
。全加算器14bは、アンド回路12dの出力、アンド
回路12gの出力、全加算器14aのオーバフ口−(繰
り上り)Coを加算する。半加算Z13bは、全加算i
14bのオーバフロー(繰り上り)Coとアンド回路1
2hの出力とを加算する。アンド回路12aの出力は、
そのまま乗算回路2−2の出力D71となっている。こ
れが第26図に符号43で示されている。
以下、同様にしてアンド回路と加算器により加算が進め
られる(第26図の符号44.45参照)。
この結果、第26図に符号46で示す8ビットのバイナ
リコード“01110101゜が得られる。これを10
進数に変換するとrll7Jとなり、13x9の4ビッ
トのバイナリコードの乗算が乗算回路2−2によって行
なわれたことになる。
この説明では、Kは整数としたが、乗算回路2−2を第
57図に示すようにシフト演算回路(第37図)から構
成すれば、Kの値として1/2,1/4などの小数も設
定可能である。
第13図に示すメンバシップ関数定義回路910の第一
例では、第2減算回路3の減算結果が負である場合、後
段のアンド回路4でメンバシ1ブ関数定義回路910の
出力を“O”としていたが、第17図に示したメンバシ
ップ関数定義回路910の第二例では、前述したように
第2減算回路3の前段に第13図のアンド回路4に棺当
ずるオア回路4aが接続されており、しかも第2減算回
路3は排他的オア回路15a〜15dのみで構成されて
いるので、この第2減算回路3では、その減算結果の正
負が判断できない。
そこで、乗算回路2−2の出力が「15」を越える場合
、メンバシップ関数定義回路910の出力が″0″にな
ればよいので、乗算回路2−2の出力の上位4ビットD
75〜D78をオア回路17,16a〜16dに入力す
ることにより、乗算回路2−2の出力が「15」を越え
る場合には、オア回路4a (16a 〜16d)の出
力を常に「15」となるようにしている。
第2減算回路3は、「15」と乗算回路2の出力との差
を求める回路である。この回路の出力はメンバシップ値
であり、この実施例では前述したようにメンバシップ値
は最大で「15」までなので、乗算回路2の8ビット出
力のうち下位4ビットD?1〜D74のオア回路4aを
介したデータD81〜D84を第2減算回路3で全ビッ
ト反転して補数をとることにより、前5c! (1)式
に示す15−KxXo−Xllの演算を行なっている。
K×Xo−Xllは乗算回路2の乗算結果である。
次に、第2減算回路3は、前述したようにメンバシップ
関数をV関数(第15図(d))に変換する機能をも有
することを説明する。■関数は、第15図(d)からも
明らかなように、A関数のメンバシップ値の補数をとっ
たものといえる。
方、第2減算回路3は、入力値の全ビットを反転して補
数をとることにより、15−KxlXo−XI  +の
演算を行なっているので、第2減算回路3で入力値の全
ビットを反転するという操作を行なわずに入力値をその
まま出力すれば、AMl.3がV関数へ変換されたこと
になる。
そこで、第2減算回路3を排他的オア回路15a〜15
dで構成している。すなイ〕ち、メンバシップ関数をA
関数.N関数,S関数とする場合には、第14図からK
l,K2はそれぞれ“0.0“  ゜0.1゜  “1
,0”となるので、形状変換回路2−1のナンド回路2
2はいずれの場合も“1”を出力するため、それを受け
て第2減算回路3の排他的オア回路15a〜15dはそ
れぞれ入力D84〜D81の値を反転して出力し、15
−Kx l Xo −Xi  lの演算を行なうことに
なる。
一方、K l−“1“,K2−“1″の場合には、ナン
ド回路22は“0”を出力し、それを受けて排他的オア
回路15a〜15dはそれぞれ入力D84〜D81の値
をそのまま出力する。したがって、Kl一“l″ K2
−“1゜のとき、八関数がV関数に変換されたことにな
る。
次に、最小値演算回路920について説明する。
ファジィ推論における最小値演算は、与えられた複数の
メンバシップ値の最小値をとるものである。
これとは逆に、最大値をとるものに最大値演算がある。
扱う数値がバイナリコードで表現されているデジタル回
路において、最小値演算回路を実現するにはデジタルコ
ンパレータを利用する方法がある。しかし、デジタルコ
ンバレー夕は2個の数値を扱う場合には比較的簡単な構
成で実現できるが、3個以上の数値を扱う場合には回路
規模が大きくなり、あまりよい方法といえない。以下に
、最小値演算回路920の例としてデジタルコンバレー
タを利用したものと、デジタルコンバレータを利用しな
い別の考え方によるものについて説明する。
まず、第27図にデジタルコンパレータを伺用した最小
値演算回路920の一例を示す。デジタルコンバレータ
50は、4ビットのパイナリコドを比較するものであり
、たとえば高速C M O S標準ロジック集積回路(
74HC85など)からなる。デジタルコンバレータ5
0の人出力関係を第28図に示す。デジタルコンバレー
タ50は、カスケード入力端子(A−B)INが常に“
1”(ハイレベル)に固定されているので、出力端子(
A−B)OUTは、2個の4ビットバイナリコード入力
A,BがA≠Bの場合には“0”を出力し、A−8の場
合には“1”を出力する。同様に、出力端子(A>B)
OUTはA>Bのとき“1”を、A<8のとき“0゜を
出力する。出力端子(A<B)OUTはA<Bのとき“
1”を、A〉Bのとき“01を出力する。
バイナリコード入力A,Bの大小関係がA>Bの場合に
は、デジタルコンパレータ50の出力端子(A>B)O
UTは“1”を出力するため、アンド回路53a,53
b,53c,53dは4ビットバイナリコード入力Bの
各ビットB4,B3,B2,Blの“1”または“0゜
をそのまま出力する。このとき、出力端子(A<B)O
UTおよび出力端子(A−B)OUTは共に“0″を出
力するため、オア回路51は“θ″を出力し、アンド回
路52a,52b.52C,52dは全て“0″を出力
する。このため、オア回路54a,54b,54c,5
4dはアンド回路53a〜53dの出力、すなわちバイ
ナリコード入力Bを出力する。
一方、バイナリコード入力A,Bの大小関係がA≦B(
A<BまたはA−B)の場合には、出力端子(A>B)
OUTは“0゜を出力するため、アンド回路53a〜5
3dは全て“0“を出力する。また、この場合、出力端
子(A−B)OUTおよび出力端子(A<B)OUTは
どちらか一方が必ず“1“を出力するので、オア回路5
1の出力は“l゜となり、アンド回路52a〜52dは
、バイナリコード入力Aの各ビットA4,A3,A2,
AIの″1”または“0゜をそのまま出力するため、オ
ア回路54a〜54dはバイナリコード入力Aを出力す
る。
A−Bの場合には、AとBのどちらを選んでも問題ない
が、ここではAを最小値演算の出力としている。
このように、第27図の最小値演算回路920は、2個
の4ビットバイナリコード入力A,Bに対して最小値演
算を行なっていることになる。入力が3個以上の場合に
は、入力の数をNとすると、INX (N−1)l /
2個のデジタルコンパレータと、アンド回路およびオア
回路を組合せれば最小値演算回路が実現できる。
次に、デジタルコンパレータを使用しない4ビットバイ
ナリコードの最小値演算回路920の一例を第29図に
示す。図中の64a,64b.64c,64d,69a
.69b.69c,69d,74a,74b,74c,
74dは、論理的には演算を行なわないオーブンドレイ
ン出力(バイポーラ集積回路の場合はオーブンコレクタ
出力)のノン・インバーティング・バッファ回路である
。オーブンドレイン出力のノン命インバーティング・バ
ッフ7回路の例を第30図に示し、オーブンコレクタ出
力のノン・インバーティング・バッファ回路の例を第3
1図に示す。
第30図において、チップセレクト信号CSを“0゛に
することにより、最小値演算回路920が動作停止中に
、プルアップ抵抗75a,75b,75c,75dを通
してノン・インバーティング・バッフ7回路64a 〜
64d,69a 〜69d,74a〜74dへ流入する
電流をカットし、回路の動作停止中の消費電力を減少さ
せている。これらのチップセレクト信号CSを全て結合
すれば、回路を集積回路化した場合に、チップセレクト
信号CSは、その集積回路の動作スタンバイ信号とする
ことができる。
第29図の60.65.70は比較演算回路であり、そ
れらの出力は信号ラインWOI.WO2,WO3.WO
4によりワイアード・オア接続されており、これらの信
号ラインがそのまま最小値演算回路920の出力DI,
D2.D3,D4となっている。信号ラインWOI〜W
O4のハイレベルは、プルアップ抵抗75a〜75dに
よって決められている。
この最小値演算回路920は、複数の4ビットバイナリ
コード入力に対し、それらの最上位ビット(MSB)か
らビットごとに逐次、大小比較を行ない、最小値演算を
行なっていく。いま、3個の4ビットバイナリコード入
力A,B,Cがそれぞれ“1001” (−9).  
“0101” (一5).“0110゜ (−6)であ
る場合について、第32図を参照して説明する。まず、
最上位ビットの大小比較は、A4−“1゜,B4−“0
′C4−“0゜であるから、A4 >84−C4という
大小関係となり、この段階でA>BかつArc,すなわ
ちA,B,CのうちでAが最大ということが明らかであ
るので、下位3ビットについてはB,Cについて比較を
行なえばよいことがわかる。
ここで、ノン・インバーティング・バッファ回路64a
は、A4−“1”であるから、その出力はオーブン、す
なわち高インピーダンス状態となる。一方、B4−C4
−“0“であるから、ノン・インバーティング・バッフ
7回路69a.74aの出力はショート、すなわち“0
“となる。
ノン・インバーティング・バッフ7回路64a,69a
,74aの出力側は、信号ラインWO4によってワイア
ード・オア接続されているため、信号ラインWO4はロ
ウレベル(−“01)となる。
したがって、最小値演算回路920としての出力D4−
 “01となる。
比較演算回路60の中の排他的オア回路61aは、A4
 − ”1’ ,WO4−“0”のため、その出力は“
1″となる。これを受けてオア回路63a,62a,6
2bの出力も“1”となり、さらにオア回路63b,6
3Cの出力も“1”となる。このため、ノン・インバー
ティング・バッファ回路64b.64c,64dの出力
は、入力A3,A2,Atの値にかかわらず高インピー
ダンス状態となる。このことは、すなわち、バイナリコ
ード入力Aの下位3ビットA3,A2,AIは、最小値
演算出力の下位3ビットD3,D2,Dlに何ら影響を
与えないと考えることができるので、バイナリコード入
力の下位3ビットについては、前述したようにBとCに
ついてのみ大小比較を行なうことになる。
比較演算回路65の中の排他的オア回路66aは、前述
したように84−”0’  WO4−“O”のため、そ
の出力は“0”である。このため、オア回路68aは、
B3の値をそのままノン・インバーティング・バッファ
回路69bへ供給する。
同様に、C4−“0″,WO4−“1″であるから、比
較演算回路70のオア回路73aは、C3の値をそのま
まノン・インバーティング・バッファ回路79bへ供給
する。
ここで、B3の値は“1“であり、C3の値も″1”、
すなわちB3−C3であるため、ノン拳インバーティン
グ・バッファ回路69b,74bの出力は共に高インピ
ーダンス状態となる。前述したように、ノン・インバー
ティング・バッファ回路64bの出力も高インピーダン
ス状態であるから、WO3はプルアップ抵抗75cによ
りハイレベル(一″1″)となり、最小値演算回路92
0としての出力D3は“1“となる。
比較演算回路65の中の排他的オア回路66bは、前述
したようにB3−“1’  WO3−“1”のため、そ
の出力は“0゛である。また、前述したように、排他的
オア回路66aの出力も“0“であるから、オア回路6
7aの出力は“0”となるため、オア回路68bはB2
の値をそのまま出力する。同様に、C3−“1“ WO
3−“1″であるから、比較演算回路70のオア回路7
3bもC2の値をそのまま出力する。
ここで、B2は“0゛であり、C2は゜1“であるため
、この段階でCABが明らかになる。
B2−“0″のため、比較演算回路65のノン・インバ
ーティング・バッフ7回路69cの出力はショート(一
“θ″)で、C2−“1″のため、比較演算回路70の
ノン・インバーティング・バッフ7回路74cの出力は
高インピーダンス状態となる。
また、前述したように、比較演算回路6oのノン・イン
バーティング・バッフ7回路64cの出力も高インピー
ダンス状態であるから、WO2はワイアード・オア接続
により“0”となり、最小値演算回路920としての出
力D2は“0“となる。したがって、C2−“工”,W
O2− ”0”のため、排他的オア回路71cの出力は
“1“となる。これを受けてオア回路72bの出力は“
1゜となり、さらにオア回路73cの出力も“1″とな
るため、ノン・インバーティング・バッファ回路74d
の出力は高インピーダンス状態となる。
一方、B2 − ”0” ,WO2−“o”のため、排
他的オア回路66cの出力は“0゜であり、前述したよ
うにオア回路67aの出力は“0゜のため、オア回路6
7bの出力は“0”となり、オア回路68cは81の値
をそのまま出力する。さらに、前述したように、既にノ
ン・インバーテイング・バッファ回路64dの出力は高
インピーダンス状態であるので、結局、WO1はAI,
CIにかかわらずBlと等しいことになる。すなわち、
Bl−.“1″であるからWOI−“1“となり、最大
値演算回路920としての出力D!は“1”となる。
これにより、第32図に示すように、D4−′″0’ 
 D3一″1”,D2−”0’,DI−“1″となり、
第29図の最小値演算回路920の出力としては“01
01”  (−5)が得られる。
これは、36mの入力A一“1001゜ (−9).B
一“0101゜ (−5) 、C一“0110゜(−6
)のうちの最小値であり、3個の4ビ・ソトバイナリコ
ードの入力A,B,Cに対して最小値演算を行なったこ
とになる。ここに、第32図のXは“0”1“のいずれ
でもよいことを表わす。
なお、4ビットバイナリコードの入力を4個以上にする
場合には、その入力数に応じて第29図の比較演算回路
60.65.70 (第29図からも明らかなように同
一回路である)をワイアード・オア接続して増設すれば
よい。また、比較演算回路60,65.70は、LSB
側に回路を追加すれば5ビット以上のビット数にも対応
できる。
次に、後件部メンバシップ関数定義回路930およびメ
ンバシップ関数合成回路940について説明する。前件
部メンバシップ関数の定義のところで述べたように、後
件部メンバシップ関数も第11図および第12図に示す
ように三角型のメンバシップ関数(A関vI)として扱
う。後件部メンバシップ関数は、第33図に示すように
、前件部入力に対するメンバシップ値を三角形のメンバ
シップ関数の高さhとし、後件部メンバシツブ関数の広
がりの幅をWとするとき、その三角形メンバシップ関数
の面積Sとして定義される。ここで、前件部入力が複数
ある場合には、最小値演算により、その最小値をメンバ
シップ関数の高さhとしている。後件部メンバシップ関
数Sは次式のように表わせる。
S − w X h X  ( 1 / 2 )   
       − − (4)上記(4)式においてw
x (1/2)をWと置き換えると、上記(4)式は次
のように変形できる。
s−hxw             ・・・・・・(
5)上記(5)式のWは後件部メンバーシップ関数を定
義するための定義バラメークであるが、Wは1<ラメー
タとして相対的な変化があればよいので、上記(5)式
の演算をデジタル論理回路で実現し易いように、Wの基
本値を“1″として基本値に対する比としてWを設定す
ればよい。
後件部メンバシツブ関数が定義されると、後件部入力に
より後件部メンバシツブ関数の位置(以後アドレスと呼
ぶ)が決まる。このアドレスは第34図に示すように7
個あるのが一般的である。
それぞれのラベルは次のことを表わす。
N B : Nogatlvo旧g(かなり小さい)N
 M : NegaL1ve Medium  (小さ
い)N S : NegaLeve Small (や
や小さ−1)Z O : Zero (ゼロ) P S : Pos1t1ve Small (やや大
きい)P M : Posltivo Mcdlu* 
 (大きい)P B : Positivo旧g(かな
り大きい)複数のファジィ・ルールから、前記(5)式
の後件部メンバシップ関数Sが定義され、後件部メンバ
シップ関数定義回路930から出力されると、メンバシ
ップ関数合成回路940は個々のアドレス(ラベル)に
ついて最大値演算により関数の合成が行なわれる。
第35図は、デジタル論理回路で構成したファジィルー
ルごとの後件部メンバシップ関数定義回路930の構成
図を示している。後件部メンバシップ盟数定義回路93
0は、三角形である後件部メンバシップ関数の面積S(
前記(5)式参照)を求める。後件部メンバシップ関数
定義回路930は、4ビットのバイナリコード加減算回
路140とシフト演算回路141を有する。加減算回路
140は、前件部メンバシップ関数定義回路910(第
17図)で説明した第1減算回路1を変形して加算回路
としても使用できるようにしたものであり、その回路構
成を第36図に示す。
すなわち、加減算回路140は、第1減算回路1のイン
バータ回路6b〜6eを排他的オア回路162a,16
2b.162c,162dに変え、加減算切換えの入力
SUBを追加したものである。
ここで、入力SUBを″1″にすると、排他的オア回路
162a 〜162dは入力b4,b3,b2,blに
対してインバータ回路と同様の働きをし、アンド回路1
63はインバータ回路164の出力をそのまま出力する
ので、第1減算回路1を4ビット川にした場合と同様の
動作を行なう。
逆に、入力SUBを“O″にすれば、排他的オア回路1
 6 2 a 〜]. 6 2 dは入力b4〜b1を
そのまま出力し、アンド回路163は“O゜を出力する
ため、誹他的オア回路165a−165dおよび4ビッ
ト全加算器161は論理的に何も演算を行なわないため
、加減算回路140は加算器として動作する。
シフト演算回路141の詳細を第37図に示す。
シフト演算回路141は、6ビットのバイナリコド入力
に対して、その各ビットをシフト制御入力STI,ST
2により設定された段数に応じてLSB (最下位ビッ
ト)側ヘシフトするものであり、その入出力関係を第3
8図に示す。シフト制御入力がST’)一“0゜,ST
I− ”0” (7)とき、ノア回路150aは“1゜
を出力するため、アンド回路151a,  15lb,
  151c,  l 51d,151e,151fは
それぞれ入力AIm −AIの値をそのまま出力する。
ノア回路150b,150cは共に“0゜を出力するた
め、アンド回路152a,152b,152c,152
d,152e,153a,153b,153c,153
dは全て“0“を出力する。これにより、オア回路15
4,155a,155b,155c,1 55dは、そ
れぞれA5〜AIの値を出力する。
したがッテ、ST2− ”0’ ,STI− ”0’ 
(7)ときはシフトは行なわれず、人カA6〜AIは出
力B[i−Blへそのまま出力される。
ST2−“O”,STI−“1″のときは、ノア回路1
50a,150cは共に”0゜を出カするため、アンド
回路1 51 a 〜1 51 f.153d〜153
dは全て“O“を出力する。ノ7tulW150bは″
1″を出力するため、アンド回路152a〜152eは
それぞれ入力AO〜A2の値をそのまま出力する。これ
により、オア同路1 54,1.55a 〜1 55d
はそれぞれ入力A6〜A2を出力し、Beは“0“とな
る。したかって、入力A6〜A1は1段LSB側ヘシフ
トされ、BG−Blへ出力される。
ST2−“1″.STI−“0“のときは、ノア回路1
50a,150bは共に“0”を出力するため、アンド
回路151a〜151f,152a〜152eは全て“
0“を出力する。ノア回路150cは“1“を出力する
ため、アンド回路153a 〜153dはそれぞれ入力
AG A3の値をそのまま出力する。これにより、オア
回路155a 〜155dはそれぞれ入力AG 〜A3
を出力し、一方、オア回路154は″0″を出力し、B
6は“0“である。したがって、入力八〇〜Alは2段
LSB側ヘシフトされ、B6〜B1へ出力される。
STI−“1”,ST2−“1”のときは、ノア回路1
50a−150cは全て“0”を出力するため、アンド
回路151a〜151f,152a 〜152e,15
3a 〜153dも全て“0゜を出力し、さらに、それ
を受けてオア回路154,155a 〜155dも全て
“o”を出力ずる。したがって、出力88〜Blは入力
A6〜A1の値にかかわらず全て“0″となる。
なお、このシフト演算回路141は、後述する重心演算
回路950でも使用する都合」二、6ビ・ント入力、6
ビット出力となっているが、後件部メンバシップ関数定
義回路930では4ビットあれば十分であるので、第3
5図ではシフト演算回路141の入力の上位2ビットA
(i,A5の値は“0゛に固定している。
前述したように、《5》式のSを求めるのに必要ナパラ
メータWは、計算を簡略化するためにその基本値を1.
0としている。そして、この実施例テハ、W−1.0(
7)他11:W−0.75,W−1,25,W−1.5
の3つの値を設定できるようにしてある。Wはそれぞれ
第39図に示す2ビットバイナリコードWBI ,WB
2により可変される。すなわち、第3−5図の後件部メ
ンバシツブ関数定義回路930において、WB2−“0
″WBI−“0#のときはアンド回路142は“0゜を
出力するため、加減算回路140は加算器として動作す
る。
一方、ノア回路143は“1”を出力するために、それ
を受けてオア回路144a,144bは共に“1“を出
力する。また、インバータ回路145は“1”を出力す
るため、アンド回路146の出力は11″となり、結局
、シフト演算回路141のST2.STIは共に“1゜
が入力されるため、第38図の関係から、シフト演算回
路141はB(i−Blに全て“0゜を出力する。した
がって、加減算回路140では、「h」とrOJとの加
算が行なわれるため、WB2 −“0゜、WBl一“0
“のときには後件部メンバシップ関数定義回路930の
出力Sはhとなり、前記(5)式からW−1.0という
ことになる。
WB2−“0“ WBI−“1″のときは、AND回路
142は′0″を出力するため、加減算回路140は加
算器として動作する。一方、ノア回路143は“0“を
出力するために、それを受けてオア回路144a,14
4bはそれぞれWB2 ,WBIの値をそのまま出力す
る。インバータ回路145は″′1゜を出力するために
、アンド回路146はオア回路144bの出力をそのま
ま出力する。したがって、シフト演算回路141のST
2,STIには、それぞれWB2,WBIの値かそのま
ま入力される。
すなわち、WB2一″0”,WBI−“1″であるから
ST2− ”0″,STI−“1゜となり、第38図の
関係からシフト演算回路141は入力AG−AIをLS
B側へ1段シフトし、86〜Blへ出力する。つまり、
シフト演算回路141へ入力されたhは(1/2)hと
して出力され、加減算回路140ではhと(1/2)h
との加算が行なわれるため、WB2−“0“,WBI 
−“1“のときには、後件部メンバシップ関数定義回路
930の出力Sはh 十( 1 / 2 ) h − 
1 .  5hとなり、前記《5》式からW−1.5と
いうことになる。
WB2−“1″ WBI −“0#のときは、WB2−
“0“ WBI−“1″のときと同様にアンド回路14
2は“0”を出力するため、加減算回路140は加算器
として動作し、またオア回路144a,アンド回路14
6は、それぞれWB2 ,WBIの値をそのまま出力す
る。
すなわち、WB2曽′1”,WBI噛101であるから
ST2−“1″,STI−“0“となり、第38図の関
係からシフト演算回路141は入力AO〜AIをLSB
側へ2段シフトし、86〜Blへ出力する。つまり、シ
フト演算回路141へ入力されたhは(1/4)hとし
て出力され、加減算回路140ではhと(1/4)hと
の加算が行なわれるため、WB2 − ”1″,WBI
−“0゛のときには、後件部メンバシツブ関数定義回路
930の出力Sはh+(1/4)h−1.25hとなり
、前記(5)式からW−1.25ということになる。
WB2−“1゜ WBI−“1″のときは、アンド回路
142は“1mを出力するため、加減算回路140は減
算器として動作する。一方、ノア回路143は“0”を
出力するため、それを受けてオア回路144a,144
bは、それぞれWB2 ,WBIの値をそのまま出力す
る。また、インバータ回路145は“0“を出力するた
め、アンド回路146は“0°を出力する。これにより
、シフト演算回路141のST2にはWB2の値“1゜
が入力されるが、STIにはアンド回路146により′
0゜が入力される。
したがって、ST2− −1’ ,STI−“Omであ
るから、第38図の関係からシフト演算回路141は入
力八〇〜AIをLSB側へ2段シフトし、86〜Blへ
出力する。つまり、シフト演算回路141へ入力された
hは1/4hとして出力され、加減算口路140ではh
から(1/4)hが減算されるため、WB2−“1”,
WBI −“1゜のときには、後件部メンバシップ関数
定義回路930の出力Sはh− (1/4)h−0、7
5hとなり、前記(5)式からW−0.75ということ
になる。
なお、第35図からわかるように、後件部メンバシ・ン
プ関数定義回路930の出力Sは5ビットのバイナリコ
ードであるが、以後の重心演算回路950などの説明を
簡単にするために、Wは1.0のみの設定とし、出力S
は4ビットのバイナリコードとしてI及うことにする。
ここで、W一1.0に限定した専用ファジィ回路の場合
は、後件部メンバシップ関数定義回路930は必要ない
次に、メンバシップ関数合成回路940を説明する。第
40図は、デジタル論理回路で構成したメンバシップ関
数合成回路940の構成図を示している。メンバシップ
関数合成回路940は、各ルールごとの後件部メンバシ
ップ関数定義回路930,930,・・・に接続される
データセレクト回路132,132.・・・と、これら
データセレクト回路132,132,・・・の出力に接
続される最大(1/j(MAX)演算回路133a,1
33b,133c,  133d,  133e.  
133f,133gからなる。
第41図にデータセレクト回路132の一例を示す。後
件部メンバシップ関数定義回路930から供給された面
積データSは、アドレスデコーダ170の出力により制
御されるアンド回路を介して出力端子Sol−So7の
いずれか1つから1」1カされる。アドレスデコーダ1
. 7 0は、たとえば標準ロジック集積回路(74H
C237など)からなり、その人出力関係を第42図に
示す。なお、第42図において、Xは″0“1”のいす
れでもよいことを表わし、「※出力を保持Jはラッチイ
ネーブル端子LEが″0”のときのアドレス状態による
すなわち、アドレスデコーダ170は、3ビットのアド
レス入力AO〜A2に対して出力YO〜Y7のいずれか
1つが“1゜となり、残りの7つの出力は全て“0”と
なるように定義されている。
たとえば、アドレス入力が“000゛であったとすると
、アドレスデコーダ170は出力YOに“1″を出力し
、他の出力Y1〜Y7には“0“を出力するため、入力
S1に供給された4ビットのバイナリコードは出力So
7から出力され、他の出力Sol〜So8は全て゜00
00″を出力する。このように、アドレスデコーダ17
0は3ビットのアドレス入力により、入力Stを出力S
ol−So7のいずれかに出力する。
第40図に示すように、データセレクト回路132.1
32.・・・から出力された面積データSは、後件部メ
ンバーシップ関数の各アドレス(PB  PM,PS,
20,NS,NM,NB)ごとに最大値演算回路133
8〜133gに入力される。最大値演算回路133a〜
133gでは、複数のファジィルールからの出力のうち
最大値を選択してファジィ推論結果を出力する。
なお、専用ファジィ回路の場合、後件部メンバシップ関
数定義回路930の出力Sは、Sol〜So7のいづれ
に接続されるかは決定しているので、このデータセレク
ト回路132は必要ない。
すなわち、ファジィル〜ルごとの後件部メンバシップ関
数定義回路930の出力Sを直接、PB〜NBのいづれ
かの最大値演算回路133a〜133gに接続すればよ
い。
次に、最大値演算回路133a〜133gについて説明
する。ファジィ論理における最大値演算は、与えられた
腹数のメンバシップ値の最大値をとるものである。前述
した最小値演算と同碌に、扱う数値がバイナリコードで
あるようなデジタル回路において、最大ri演算回路を
実現するにはデジタルコンバレー夕などを利用する方法
がある。
しかし、デジタルコンバレー夕は2個の数値を扱う場合
には比較的簡単な構成で実現できるが、3個以上の数値
を扱う場合には回路規模が大きくなり、あまりよい方法
とはいえない。以下に、最大値演算回路133a〜13
3gの例として、デジタルコンパレータを利用したもの
と、デジタルコンバレータを利用しない別の考え方によ
るものについて説明する。
まず、第43図にデジタルコンパレー夕を利用した最大
値演算回路133a〜133gの一例を示す。4ビット
デジタルコンバレータ80は、たとえば高速C−MO 
S標準ロジック集積回路(74HC85など)からなり
、その人出力関係は最小値演算回路920において説明
した第28図に示すものである。デジタルコンパレータ
80は、カスケード入力(A−B)INが常に“1”(
ハイレベル)に設定されているので、2個の4ビットバ
イナリコード入力A,BがA≠Bの場合には、出力(A
−B)OUTは“0“を出力し、A−Bの場合には“1
“を出力する。同様に、出力(A>B)OUTはA>B
のとき“1“を、A<Hのとき“0”を出力し、出力(
A<B)OUTはA<8のとき“1”を、A>8のとき
“0゛を出力する。
バイナリコード入力A,Bの大小関係がA<Bの場合に
は、デジタルコンバレータ80の出力端子(A<B)O
UTは“1“を出力するため、アンド回路83a,83
b,83c,83dは4ビットバイナリコード入力Bの
各ビットB4.B3,B2,Blの“1″または″0”
をそのまま出力する。このとき、出力端子(A>B)O
UTおよび出力端子(A−B)OUTは共に“0“を出
力するため、オア回路81は“0“を出力し、アンド回
路82a,82b,82c,82dは全て“0°を出力
する。このため、オア回路84a,84b,84c,8
4dはアンド回路83a〜83dの出力、すなわちバイ
ナリコード入力Bを出力する。
一方、バイナリコード入力A,Bの大小関係がA≧B(
A>BまたはA−B)の場合には、出力端子.(A>B
)OUTは“0“を出力するため、アンド回路83a〜
83dは全て“0“を出力する。また、この場合、出力
端子(A−B)OUTおよび出力端子(A>B)OUT
はどちらか一方が必ず“1″を出力するので、オア回路
8lの出力は“1゜となり、アンド回路82a〜82d
は、バイナリコード入力Aの各ビットA4,A3,A2
,AIの“1″または“0″をそのまま出力するため、
オア回路84a〜84dはバイナリコ一ド入力Aを出力
する。
A−Hの場合には、AとBのどちらを選んでも問題ない
が、ここではAを最大値演算の出力としている。
このように、第43図の最大値演算回路133a〜13
3gは、2個の4ビットバイナリコード入力A,Bに対
して最大値演算を行なっていることになる。入力が3個
以上の場合には、入力の数をNとすると、lNx (N
−1)l /2個のデジタルコンパレータと、アンド回
路およびオア回路を組合せれば最大値演算回路が実現で
きる。
次に、デジタルコンパレー夕を使用しない4ビットバイ
ナリコードの最大値演算回路133a〜133gの一例
を第44図に示す。図中の1 04 a,  1 04
 b.  1 04 c,  1 04 d,109a
,109b,109c,109d,114a,114b
,114c,114dは、オーブンドレイン出力(バイ
ポーラ集積回路の場合はオーブンコレクタ出力)のイン
バーテイング・バッファ回路である。オーブンドレイン
出力のインバーティング・バッファ回路の例を第45図
に示し、オーブンコレクタ出力のインバーティングQバ
ッファ回路の例を第46図に示す。
m45図において、チップセレクト信号csを“0゜に
することにより、最大値演算回路133a〜133gが
動作停止中にプルアップ抵抗115a,115b,11
5c,115dを通してインバーティング・バッファ回
路104a〜1 0 4 d ,  1 0 9 a 
〜1 0 9 d ,  1 1 4 a 〜114d
へ流入する電流をカットし、回路の動作停止中の消費電
力を減少させている。これらのチップセレクト信号CS
を全て結合すれば、回路を集積回路化した場合に、チッ
プセレクト信号csは、その集積回路の動作スタンバイ
信号とすることができる。
第44図において、比較演算回路100,105,11
0は、信号ラインWO1〜wO4によりワイアード・オ
ア接続されており、信号ラインWOI〜WO4のレベル
をインバーティング●バッフ7回路116d,116c
,116b,116aで反転出力したものが最大値演算
の出力となっている。信号ラインWOI〜WO4のハイ
レベルは、プルアップ抵抗115a〜115dによって
決められている。
この最大値演算回路1333〜133gは、複数の4ビ
ッ1・バイナリコード入力に対し、それらの最−1−位
ビット(MSB)からビッ1・ごとに逐次、大小比較を
行ない、最大値演算を行なっていく。いま、3個の4ビ
ットバイナリコード入力A,B,Cにそれぞれ“011
0″.(−6).”1010″ (−10),  “1
001″ (−9)を入力した場合の動作について、第
47図を参照して説明する。まず、最上位ビッ1・の大
小比較は、A4−“0″,B4=″1”  C4−“1
゜であるから、A4 <84−C4という大小関係とな
り、この段階でA<BかつArc,すなわちA,B,C
のうちでAが最小ということが明らかであるので、下位
3ビットについてはB,Cについて比較を行なえばよい
ことがわかる。
ここで、インバーティング・バッフ7回路104aは、
A4−“0“であるから、その出力はオーブン、すなわ
ち高インピーダンス状51J3となる。一方、B4−C
4−“1″であるから、インバーティング・バッフ7回
路109a,]14aの出力はンヨート、すなわちロウ
レベルとなる。
インバーティング・バッフ7回路1 04 a,109
a,114aの出力側は、信号ラインWO4によってワ
イアード・オア接続されてるいため、信号ラインWO4
はロウレベル(一“0“)となる。したがって、最大値
$X算回路133a〜133gとしての出力D4は、イ
ンバーティング・バッフ7回路116aによりWO4が
反転されるので、D4−“1”となる。
比較演算回路100の中のオア回路10]aは、A4−
″0”,WO4−″0“のため、その出力は“0“とな
る。これを受けてアンド回路103a,102a,10
2bの出力も“0−となり、さらにアンド回路103b
,103cの出力も“0″となるため、インバーティン
グ・バッファ回路104b,104c,]04dの出カ
は、入力A3,A2,AIの値にかがかイ)らず高イン
ピーダンス状態となる。このことは、すなわち、バイナ
リコード入力八の下位3ビットA3,A2,Atは、最
大値演算出力の下位3ビットD3,D2,Diに何ら影
響を与えないと考えることができるので、バイナリコー
ド入力の下位3ビットについては、前述したようにBと
Cについてのみ大小比較を行なうことになる。
比較演算回路105の中のオア回路106aは、前述し
たように84−“1″ WO4−“0“のため、その出
力は“1′である。このため、アンド回路108aは、
B3の値をそのままインバーティング・バッファ回路1
09bへ供給する。同様に、C4−″】″,WO4−“
0″であるから、比較演算回路110のアンド回路11
3aはC3の値をそのまま出力する。
ここで、第47図に示すようにB3の値は“0″であり
、C3の値も″0” (すなわちB3 −C3 )であ
るため、インバーティング・バッファ回路109b.1
14bの出力は共に高インピーダンス状態となる。前述
したように、インバーティング・バッフ7回路104b
の出カも高インピーダンス状態であるから、WO3はプ
ルアップ抵抗115cによりハイレベル(一“1”)と
なり、出力D3はインバーティング・バッフ7回路11
6bにより反転されて、D3−“0゜となる。
比較演算回路105の中のオア回路106bは、前述し
たように83−“0”,WO3−“1”のため、その出
力は″1“である。また、前述したように、オア回路1
06aの出力も“1”であるから、アンド回路107a
の出カは“1″となるため、アンド回路1 08bはB
2の値をそのまま出力する。同様に、C3−“0″,W
03一“1”であるから、比較演算回路110のアンド
回路113bt.C2の値をそのまま出力する。
ここで、B2の値は41mであり、c2の値は″0゜で
あるため、この段階でC<Bが明らがになる(第47図
参照)。B2−″1″のため、比較演算回路105のイ
ンバーティング・バッファ回路109cの出力はショー
ト(=“O”)で、C2−“0゛のため、比較演算回路
110のインバーティング・バッファ回路114Cの出
力は高インピーダンス状態となる。
また、前述したように、比較演算回路100のインバー
ティング・バッファ回路104Cの出力も高インピーダ
ンス状態であるから、WO2はワイアード●オア接続に
より“0”となり、最大値演算回路1338〜133g
としての出力D2は、インバーティング・バッファ回路
116Cにより反転され、D2−“1”となる。したが
って、C2−“0” WO2−“0“のため、オア回路
111Cの出力は“0“となる。これを受けてアンド回
路112bの出力は“0“となり、さらにアンド回路1
13Cの出力も“0”となるため、インバーティング・
バッファ回路114dの出力は高インピーダンス状態と
なる。
一方、B2 − 1’ .WO2− ”0’のため、オ
ア回路106Cの出力は“1”となる。また、前述した
ように、アンド回路107aの出力は“1°のため、ア
ンド回路107bの出力は“1゜となり、アンド回路1
08CはBlの値をそのまま出力する。さらに、前述し
たように、既にインバーティング・バッフ7回路104
dの出力は高インピーダンス状態であるので、結局、W
OIはAI,CIにかかわらずBlの反転した値と等し
いことになる。すなわち,Bl−“0“であるから、イ
ンバーティング・バッファ回路109dによりWO1−
“1”となり、最大値演算回路133a〜133gとし
ての出力DIは、インバーティング・バッフ7回路11
6dにより反転され、DI−“0“となる。
これにより、第47図に示すように、D4−′″1゜ 
D3 − ”0゜ D2−  “1“,Dl園“0”と
なり、第44図の最大値演算回路133a〜133gの
出力としては、“1010゜(−10)が得られる。こ
れは、3個の入力A−=0110”  (−6),B一
“1010”  (−10),C−“1001”  (
−9)(7)うちの最大値であり、第44図の回路は3
個の4ビットバイナリコードの入力A,B,Cに対して
最大値演算を行なったことになる。ここに、第47図の
Xは“0゜  “1゛のいずれでもよいことを表わす。
なお、4ビットバイナリコードの入力を4個以上にする
場合には、その入力数に応じて比較演算回路100,1
05,110 (第44図からも明らかなように同一回
路である)をワイアード・オア接続して増設すればよい
。また、比較演算回路100,105,110は、LS
B側に回路を追加すれば5ビット以上のビット数にも対
応できる。
次に、重心演算回路950について説明する。
重心演算とは、メンバシップ関数合成回路940で求め
られたファジィ推論結果を非ファジィ値化(ファジィ推
論結果の重心を求める)することであり、これによりフ
ァジィコントローラとしての出力値(確定値)が求めら
れる。
ファジィ推論結果は、第48図に示すように、NBから
PHの位置が「0〜6」のアドレスに割当てられている
。ファジィ推論結果の形状は三角形であり、各三角形の
重心位置は、それぞれ「0〜6」で示されたアドレス値
そのもので表わされる。
一般に、物体を重心の位置が既知であるいくつかの部分
に分けた場合、その物体位置は分けられた各部分の質量
がその重心に集中している質点系の小心位置として求め
ることができる。したがって、NB,NM,NS,20
,PS,PM,PBの各三角形の而積をS NB,  
S NM,  S NS,  S zO,SPS,  
SPM,  SPBとし、アドレス「0〜6」をそれぞ
れ質点(三角形の重心位置)までの距ばとすると、第4
8図に示すファジィ推論結果の重心は第49図のように
置換えて求めることかできる。
そこで、アドレス「0」を中心として重心位置GAを求
めると、下記《6》式で表わすことができる。
GA− (SNM+2SNS+3SZO+4SPS+5
SPM+6SPB)+(SNIl+SNM+SNS+S
ZO+SPS+SPM+SPB)   −(6)ここで
、 SS − S NM+ S NS+ S ZO+ S PS+
 S PM+ S PB・・(7)とすると、上記(6
)式は次のように変形できる。
GA− (SS +SNS+2SZO+3SPS+4S
PM+5SPI3)÷(SNIl+SS) − lsNs+sPs+2 (SZO+SPS) +4
 (SPM+SPI’3)十SPB+SS l  + 
(SNB十SS )             ・・・
(8)このように、上記(8)式によれば、重心演算回
路950は加算器と除算器で実現できる。
ココテ、分子1sNs+ SPS+ 2 (SZO+S
PS)十4 (SPM+SPI3) +spl3+ss
 l をSCCとし、分母(SNn+SS)をSMCと
すると、重心演算回路950は第50図のように構成さ
れる。
第50図において、演算回路201は、上記(8)式の
分母SMCの値を求める回路である。すなわち、最大値
演算回路1333〜133gから出力された面積データ
SNB−SPIIからSSおよびSMC−SNB+SS
を求める。SNB−SPI)のデータ長をそれぞれ4ビ
ットとすると、演算回路201は第51図に示すように
構成される。SS.SMCは、入力データを各4ビット
としているので7ビットあればよい。第51図において
、211〜216は4ビットの全加算器、217〜22
2は1ビットの全加算器である。
演算回路202は、前記(8)式の分子SCCの値を求
める回路である。SNS,  SZO,  SPS, 
 SPM,SPB,SSの6つ入カデータより次のよう
な演算を行なう。
SCC − SNS+ SPS+2  (SZO+SPS)+4
  (SPM+SPB)  +SPI3+SS    
・・・(9)SNS−SPBのデータ長をそれぞれ4ビ
ット,SSのデータ長を7ビットとすると、演算回路2
02は第52図のように構成される。ここで、演算結果
のビット数は、前記(8)式の分Iリから全ての入力値
が4ビット最高値の[15]としても13B(H)であ
るので、9ビン1・あればよい。
第52図において、230〜239は4ビットの全加算
器、240は1ビットの全加算器である。
全加算器230が前記(9)式のS NS+ S PS
を、全加算器231が前記(9)式ノs zo+ s 
psを、全加算器232が前記(9)式のS PM+ 
S PHを、全加算器233,234が前記(9)式の
S PB+ S Sをそれぞれ演算している。なお、全
加H3234のキャリ出力COは、加算結果が8ビット
以上にはならないので必要はない。
全加算器235.240は、1/2(SZO十SPS)
  +  (SPM+SPB)  ヲ演算し、s zo
+s psノ1ビット上に乗せているので、結果的には
c s zo十S PS) +2 ( S PM+ S
 Pl3)を演算していることになる。全加算器236
,237は、(SNS+SPS) + (SPB+ S
S )を演算する。全加算器238,  239は、1
/2  1  (SNS十SPS)  +(SPB+S
S)l に全加算器235.240の演算結果を加えて
いるので、演算結果はC S NS十St”S) + 
(SPB+ SS ) +2 1 (SZO+ SPS
)+2  (SPM+SPB)l  −SNS十SPS
+2  (SZO+SPS) +4 (SPM+SPB
) +SPB+SSとなり、前記(9)式と一致する。
なお、全加算器239のキャリ出力COも、演算結果は
9ビット,以上にならないので必要はない。
演算回路201,202の出力SMC.SCCは除算回
路203に入力され、SC C+SM Cが演算される
。除算回路203は、減算を繰返すことにより除算を行
なう。すなわち、波除数から除数を上位ビットを合せて
減算し、結果が正の場合は、その被除数のビット位置の
答をrlJとする。
結果が負の場合は、そのビットの答を「0」とする。ま
た、結果が正の場合は余りを次の演算に使用し、結果が
負の場合は波除数をそのまま次の演算に使用する。
第56図を参照して、”1 1 0 1 1 0’ ÷
“101゛を例にとって説明する。まず、″11011
0”から“101“を上位ビットを合せて減算する。こ
こでは、減算結果“011゛が正なので、答のビットを
″1”とし、減算結果をそのまま次の減算に与える。下
位1ビットは被除数から受取る。被除数の最下位ビット
構の破線内の「0」は小数以下まで割るためのものであ
る。
この場合、答は1/2までの精度が出せる。
同様に、減算結果“011゜から除数“101″を減算
する。この場合は結果が負なので、答のビットは「0」
となり、先の減算結果“011′の下位2ビット“11
″をそのまま減算結果に与える。以下、同様に最下位ビ
ッ1・まで続けると、答は“101.0”となる。小数
部をもう少し精度を上げたい場合は、披除数“1101
0.0゜の下位ビット側に「0」を加えて左シフトして
から演算すればよい。「0」を1つ加えるごとに、1/
2.1/4.1/8と1 / 2 nの精度まで演算で
きる。
この方式によって構成した除算回路203の一例を第5
3図に示す。上述の各減算は、減算マルチブレクサ回路
280〜285によって行なわれる。第54図は、披減
数SMCを7ビット、減数SCCを7ビット、答Dを1
ビット(減算できた場合はrlJ ) 、余り又は被減
数SMCを6ビットとした減算マルチブレクサ回路28
0〜285の詳細を示す。
第54図において、4ビットの全加算器250,251
は、SM C+SC C+1−SM C−SC Cの演
算を行なう。答が正または「0」の場合は、全加算器2
50のキャリ出力COに「1」が出力される。答が負の
場合はrOJである。すなわち、これが除算回路203
の答ビットDとなる。したがって、全加算器250のキ
ャリ出力COが「1」の場合は減算結果を、全加算器2
50のキャリ出力COがrOJの場合は肢減数SMCを
、インバータ252の信号を利用してマルチブレクスす
ることにより、減算マルチブレクサ回路280〜285
の出力結果であるSMCが出力される。
第53図に示す除算回路203では、SMCを3ビット
左ヘシフトして(減算マルチブレクサ283〜285の
下位ビットを「0」とし)第55図(C)に示すように
、PBアドレスを「48」として除算結果GAを求めて
いる。除算の分母、分子は、前記《6》式の条件なので
、結果は必ず3ビット(減算マルチブレクサ回路283
〜285なしで考えると)となる。したがって、減算マ
ルチブレクサ回路280は、SMCとSCCの最上位ビ
ットを合せて、まず減算マルチブレクサ回路を通せばよ
い。
第50図の重心アドレス決定回路204を説明する。こ
れは、アドレス分割データを指定することにより、GA
データ(NB−PBアドレス)の値を第55図(a)(
b)(c)のいづれかに設定するものである。ただし、
専用ファジィコントローラの場合は、出力GAから出力
線を選択(GA5 〜GA2を使用する場合は第55図
(a)に相当)すればよいので、重心アドレス決定回路
204は必要ない。汎用ファジィコントローラとして使
用する場合は、このアドレス分割指定によりアドレス数
を指定して下位ビットを合せて出力する。
重心アドレス決定回路204は、第37図のシフト演算
回路141をそのまま使用すればよい。
AがGA入力、STI,ST2がアドレス分割指定入力
に相当する。ST2,STIが“0.0゜の場合は第5
5図(c)が選択され、PBアドレスが「48」とされ
、ST2,STIが“0.1″の場合は第55図(b)
が選択され、PBアドレスが「24」とされ、ST2,
STIが“1.0”の場合は第55図(a)が選択され
、PBアドレスが「12」とされる。
すなわち、各アドレスの間を2分割したい場合は、アド
レス分割指定0でNB−PBまでのアドレスは「12」
とし、4分割したい場合はアドレス分割指定1でNB−
PBまでのアドレスはr24」とし、8分割したい場合
はアドレス分割指定2でNB−PBまでのアドレスは「
48」とする。このように、アドレス分割指定すること
により、粗いファジィコントローラ出力値または細かい
ファジィコントローラ出力値を選択することができる。
第57図は、メンバシップ関数定義回路910内の乗算
回路2の変形例を示している。この乗算回路2は、切換
信号K pにより乗算回路2−2とシフト演算回路2−
3とを切換え可能としたものである。Kp一“1”のと
きは4ビット×4ビットの乗算回路2−2による演算を
行ない、K p −″0″のときはシフト演算回路2−
3による演算を行なう。
なお、ここでは、第17図のオア回路11を取除くとと
もに、形状変換回路2−1を6ビット対応にする必要が
ある。こうすれば、Kの値を設定できる範囲が広くでき
る。さらに、シフト演算回路2−3を除算回路に置換え
ると、■(の値をさらに細かく設定できる。
次に、ファジィデータの入力について説明する。
今まで説明してきたデジタルファジィ回路は、コントロ
ーラとして使用することを前提としていたため、その入
力は確定値であった。このデジタルファジィ回路をエキ
スパー1・システムなどに応用する場合には、入力とし
てあいまいな(ファジィ)データを扱わなければならな
い。
あいまいなデータは、前述したようにメンバシップ関数
として表される。いま、ファジィ11ト論回路の入力と
して、ある1つのあいまいな入力Bin(メンバシップ
関数)を考えるとき、ファジィルールにおける前件部メ
ンバシップ関数Aと入力Binとの関係は第3図に示す
ようになり、入力Binに対する前件部メンバシップ関
数のメンバシップ値(ルールの適合度)は、AとBln
の2つの関数の交点により、第3図に示すようにωとし
て求められる。
以下に、デジタルファジィ推論回路におけるファジィデ
ータの入力の具体的な実現方法について説明する。今ま
でに説明してきたデジタルファジィ回路は、パイナリデ
ー夕であるX1をその入力としており、また、ファジィ
ルールのメンバシップ関数は、パラメータの設定という
手段により、簡単に定義を行なうことができた。これら
の利点を継承したファジィデータ入力の方法について説
明する。
第3図において、2つの関数AとB1nの交点からωを
求めるには、まず初めに交点の横軸(X輔)方向の値X
cを求め、このXcをデジタルファジィ回路の入力デー
タX1として供給すれば、後は前述したような推論回路
のプロセスにより推論結果を得ることができる。ここで
、ファジィデータBinをどのように表現するかが問題
となるが、これはデジタルファジィ回路のファジィルー
ルにおけるメンバシップ関数と同様に、メンバシップ値
が最大値を示す入力Xoとメンバシップ値の傾きKとに
より与えればよい。
第4図に示すように、ファジィルールの前件部メンバシ
ップ関数の定義パラメータをXo,IC、ファジィデー
タBinのパラメータをXob,Kbとすれば、Xcは
次式により近似的に与えられる。
Xob>Xoにおいて、 Xc −Xo +[I Xob−Xo X  IKb / (K+Kb ) l ]   ・・
・(lO)Xob<Xoにおいて、 Xe − Xob+ [ l Xob− Xox IK/ (
K+Kb )l ]    ・・・(11)Xob−X
oにおいて、 Xe − Xo − Xob        − (1
2)上記(10). (11).  (12)式の演算
をデジタル回路で実現したファジィデータ演算回路70
0を第1図に示す。このファジィデータ演算回路700
は、Xo ,Xob,K,Kbから第4図におけるXc
を求め、前述したように構成されたデジタルファジィ回
路710へ供給している。なお、このファジィデータ演
算回路700は、入力が複数存在する場合には、その入
力の数と一致した数だけ同等の回路が必要となる。
以下、第1図におけるファジィデータ演算回路700を
詳細に説明する。減算回路701ではXoとXobの減
算を行ない、その演算結果Xob−Xo lを乗算回路
7(J6へ出力している。
減算回路701におけるボロ−(BW)は、データセレ
クト回路702,704へ出力されている。
データセレクト回路702では、これを受けてXob≧
XOの場合にはXoを出力し、Xob<Xoの場合には
Xobを出力する。また、データセレクト回路704で
は、Xob≧Xoの場合にはKbを出力し、Xob<X
oの場合にはKを出力する。
一方、加算回路703ではK+Kbの演算を行ない、そ
の結果とKbまたはKとから、除算回路705において
、KbまたはKを被除数として除算を行ない、演算結果
としてK b / K + K bまたはK / K 
+ K bを出力する。乗算回路706では、減算回路
701の出力と除算回路705の出力との乗算を行なう
ことにより、lXob−XolXKb/K+Kb!たG
et l Xol+−Xo l xK/K十Kbを出力
する。
加算回路707では、乗算回路706の出力とデータセ
レクト回路702の出力とを加算することにより、前記
(lO)式または(11)式の右辺、すなわちXcを出
力する。なお、Xo,Kは、ファジィルールにおけるメ
ンバシップ関数の定義のためのパラメータであるので、
デジタルファジィ回路710へ供給される。
以上の説明は、ハードウェア(ファジィデータa′n回
路700)による演算であるが、たとえば第2図に示す
ように、コンピュータ711とデジタルファジィ回路7
10とを接続し、前記(10),(11). (12)
式の演算をコンピュータ711内でソフトウエアで行な
うことにより、デジタルファジィ回路710には直接X
eを供給するようにしてもよい。
次に、ファジィ推論出力の利用について説明する。デジ
タルファジィ回路710により香られる推論結果は、そ
の重心をもって確定値として出力されることは前述した
通りである。エキスパートシステムなどの推論システム
では、場合により推論結果を次の推論の入力へ利用する
必要が生ずる。
ここでは、その推論結果の利用の考え方について概略を
説明する。
デジタルファジィ回路710が出力する確定値は、推論
結果の小心として求められるので、この小心と一致した
重心を持つ二等辺三角形のメンバシップ関数を想定し、
このメンバシップ関数をあいまいな入力として、第1図
のファジィデータ演算回路700を介してデジタルファ
ジィ回路710へ入力すればよい。このとき、メンバシ
ップ関数は二等辺三角形なので、メンバシップ値u (
X)が最大値を示すXの値、すなわちXoはデジタルフ
ァジィ回路710が出力したと確定値と一致することに
なる。一方、メンバシップ関数の傾きKrは、次の推論
の新たな入力として与えられることになる。これらの様
子は第7図(a)(b)(c)に示されている。
以下に、全体システムも含めたファジィ推論出力の利用
の具体例について説明する。ファジィ推論システムの構
成を第5図に示す。第5図から明らかなように、ファジ
ィ推論システムは、N個のファジィデータfl,f2,
・・・fNおよびパラメータ選択信号760を出力する
コンピュータ750と、ファジィtIE論の演算を行な
うデジタルファジィ回路710と、ファジィルールを設
定するためのパラメータを複数記憶しているパラメータ
メモリ751と、ファジィデータを確定値に変換してデ
ジタルファジィ回路710に供給するファジィデータ演
算回路700からなる。
パラメータメモリ751は、パラメータ選択信号760
により指示されるファジィルール設定のための複数のパ
ラメータ761を、時分割または同時にデジタルファジ
ィ回路710およびファジィデータ演算回路700へ倶
給する。コンピュータ750から出力されたN個のファ
ジィデータfl.f2.・・・fNは、それぞれ個別に
N個のフ7ジイデータ演算回路700で、あいまいな値
(ファジィデータ)から確定値へ変換された後、デジタ
ルファジィ回路710へ供給される。デジタルファジィ
回路710では、パラメータと複数の入力データとから
ファジィ推論の演算を行ない、推論結果の重心を求めて
確定値762として出力する。コンピュータ750は、
この確定値762を取込み、その推論結果の確定値76
2から新たにファジィデータを生成し、次の推論へと移
る。
なお、パラメータメモリ751は、コンピュータ750
内に置くことも可能であり、その場合の構成図は第6図
に示すようになる。
[発明の効果] 以上詳述したように本発明によれば、ファジィ推論入力
値もあいまいな値としてパラメータで設定でき、推論速
度の高速化が図れるデジタルファジィ回路を提供できる
【図面の簡単な説明】
図は本発明の実施例を説明するためのもので、第1図は
ファジィデータ演算回路の構成図、第2図はファジィデ
ータ演算回路と同様な演算をコンピュータでソフトウエ
ア的に行なう場合の構成図、第3図はファジィルールに
おける前件部メンバシップ関数と入力との関係を示す図
、第4図は前件部メンバシップ関数の定義パラメータお
よびファジィデータのパラメータを説明する図、第5図
はファジィ推論システムの構成図、第6図はファジィ推
論システムの変形例を示す構成図、第7図はファジィ推
論出力の利用を説明するための図、第8図はデジタルフ
ァジィ回路の全体的な構成図、第9図はファジィ推論の
概要を説明する図、第10図は一般的なメンバシップ関
数の波形を示す図、第11図は直線で近似したメンバシ
ップ関数の波形を示す図、第12図はメンバシップ関数
の定義を示す図、第13図はメンバシップ関数定義回路
の第一例の構成図、第14図はメンバシップ関数定義パ
ラメータと関数の形状との関係を示す図、第15図はメ
ンバシップ関数の各種の形状を示す図、第16図はメン
バシップ関数定義回路の第二例の構成図、第17図は第
16図を更に詳細に示す構成図、第18図は4ビット全
加算器の構成図、第19図は1ビット全加算器の構成図
、第20図は1ビット全加算器の動作を示す図、第21
図ないし第23図は減算回路の動作を説明する図、第2
4図は1ビット半加算器の構成図、第25図は1ビット
半加算器の動作を示す図、第26図は乗算回路の動作を
説明する図、第27図は最小値演算回路の第一例の構成
図、第28図はデジタルコンパレータの動作を説明する
図、第29図は最小値演算回路の第二例の構成図、第3
0図はオーブンドレイン出力のノン・インバティング・
バッファ回路の構成図、第31図はオーブンコレクタ出
力のノン・インバーティング・バッファ回路の構成図、
第32図は第29図に示した最小値演算回路の動作を説
明する図、第33図は後件部メンバシップ関数の形状を
示す図、第34図は後件部メンバシップ関数のアドレス
を示す図、第35図は後件部メンバシップ関数定義回路
の構成図、第36図は加減算回路の構成図、第37図は
シフト演算回路の横成図、第38図はシフトa算回路の
動作を示す図、第39図は後件部メンバシップ関数定義
回路の動作を示す図、第40図はメンバシップ関数合成
回路の構成図、第41図はアドレスセレクタ回路の構成
図、第42図はアドレスセレクタ回路の動作を示す図、
第43図は最大値演算回路の第一例の描成図、第44図
は最大値演算回路の第二例の構成図、第45図はオーブ
ンドレイン出力のインバーティング・バッファ回路の構
成図、第46図はオーブンコレクタ出力のインバーティ
ング・バッファ回路の構成図、第47図は第44図に示
した最大値演算回路の動作を説明する図、第48図はメ
ンバシップ関数合成回路により得られたファジィ推論結
果を示す図、第49図は重心演算の原理を示す図、第5
0図は重心演算回路の構成図、第51図は重心演算のた
めの分母を求める演算回路の構成図、第52図は重心演
算のための分子を求める演算回路の構成図、第53図は
重心演算回路における除算回路の構成図、第54図は除
算回路における減算マルチブレクサ回路の構成図、第5
5図はアドレス分割を示す図、第56図は第53図に示
した除算回路の動作を説明する図、第57図はメンバシ
ップ関数定義回路の変形例を示す構成図である。 FZ−1,FZ−2−7yジイIf4:論k!1路、9
10・・・メンバシップ関数定義回路、920・・・最
小値演算回路、930・・・後件部メンバシップ関数定
義回路、940・・・メンバシップ関数合成回路(最大
値演算回路) 950・・・重心演算回路、700・・
・ファジィデータ演算回路、710・・・デジタルファ
ジィ回路、711,750・・・コンピュータ、751
・・・パラメータメモリ、76o・・・パラメータ選択
信号、761・・・パラメータ、762・・・確定値出
力(推論結果の重心)。

Claims (3)

    【特許請求の範囲】
  1. (1)ファジィ推論を行なうデジタルファジィ回路にお
    いて、 あいまいな入力値を入力メンバシップ関数として入力す
    るデータ入力手段と、 このデータ入力手段で入力されたあいまいな入力値とフ
    ァジィルールの前件部メンバシップ関数とから、前記あ
    いまいな入力値を確定入力値に変換する変換手段と を具備したことを特徴とするデジタルファジィ回路。
  2. (2)前記入力メンバシップ関数は、変曲点と傾きとか
    らなるパラメータで与えられることを特徴とする請求項
    1記載のデジタルファジィ回路。
  3. (3)メンバシップ関数をバイナリコードのパラメータ
    で設定するデジタルファジィ回路を有するファジィシス
    テムにおいて、 前記デジタルファジィ回路の出力結果に応じて前記パラ
    メータを再設定するとともに、前記デジタルファジィ回
    路に入力データを与えるコンピュータを具備したことを
    特徴とするファジィシステム。
JP1116991A 1989-05-10 1989-05-10 デジタルファジィ回路 Pending JPH02294831A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1116991A JPH02294831A (ja) 1989-05-10 1989-05-10 デジタルファジィ回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1116991A JPH02294831A (ja) 1989-05-10 1989-05-10 デジタルファジィ回路

Publications (1)

Publication Number Publication Date
JPH02294831A true JPH02294831A (ja) 1990-12-05

Family

ID=14700774

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1116991A Pending JPH02294831A (ja) 1989-05-10 1989-05-10 デジタルファジィ回路

Country Status (1)

Country Link
JP (1) JPH02294831A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0574714A2 (en) * 1992-06-17 1993-12-22 Motorola, Inc. A method for performing a fuzzy logic operation in a data processor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0574714A2 (en) * 1992-06-17 1993-12-22 Motorola, Inc. A method for performing a fuzzy logic operation in a data processor
EP0574714A3 (en) * 1992-06-17 1994-10-12 Motorola Inc Method for performing a blurry logic operation in a data processor.

Similar Documents

Publication Publication Date Title
JPS6347874A (ja) 算術演算装置
EP0530372B1 (en) Numerical expression converter and vector processor using the same
Gorinevsky et al. Comparison of some neural network and scattered data approximations: The inverse manipulator kinematics example
US5957996A (en) Digital data comparator and microprocessor
US5495574A (en) Digital fuzzy inference system
JP2634994B2 (ja) ファジィ論理電子制御器及びそのメモリ動作方法
JPH02294831A (ja) デジタルファジィ回路
JPH0256602A (ja) ファジー推論装置
EP0513689B1 (en) A membership function data preparation method and an apparatus thereof
JPH02176935A (ja) ディジタルファジィ回路
JPH0293940A (ja) メンバーシップ値生成装置
JPH02224029A (ja) ディジタルファジィ推論回路
JPH02176936A (ja) ディジタルファジィ回路
JPH02181829A (ja) ディジタルファジイ回路
JPH02183336A (ja) ディジタルファジィ回路
JPH01267728A (ja) 乗算器
JPH02127727A (ja) 絶対値加減算方法及びその装置
JPH0320864A (ja) ファジィ計算用ベクトル命令セットを有する情報処理装置
JP2889244B2 (ja) 画像処理装置
JPS59186070A (ja) 高速信号処理装置
Lee et al. VHDL implementation of very high-speed integer fuzzy controller
JP2819842B2 (ja) デジタル・シグナル・プロセッサ
JPH02148326A (ja) 乗算器
JPH1040234A (ja) 演算装置
JPH03210633A (ja) ファジィ推論装置