JPH04343138A - 推論部開発システムおよびその動作方法 - Google Patents

推論部開発システムおよびその動作方法

Info

Publication number
JPH04343138A
JPH04343138A JP3142648A JP14264891A JPH04343138A JP H04343138 A JPH04343138 A JP H04343138A JP 3142648 A JP3142648 A JP 3142648A JP 14264891 A JP14264891 A JP 14264891A JP H04343138 A JPH04343138 A JP H04343138A
Authority
JP
Japan
Prior art keywords
inference engine
input
fuzzy
inference
development system
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
JP3142648A
Other languages
English (en)
Inventor
Toshihiro Tajima
田島 年浩
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.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP3142648A priority Critical patent/JPH04343138A/ja
Priority to KR1019920008111A priority patent/KR920022120A/ko
Priority to EP19920108538 priority patent/EP0517036A3/en
Priority to US07/886,007 priority patent/US5495558A/en
Publication of JPH04343138A publication Critical patent/JPH04343138A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/048Fuzzy inferencing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/02Computing arrangements based on specific mathematical models using fuzzy logic
    • G06N7/026Development tools for entering the parameters of a fuzzy system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/02Computing arrangements based on specific mathematical models using fuzzy logic
    • G06N7/04Physical realisation
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S706/00Data processing: artificial intelligence
    • Y10S706/90Fuzzy logic

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は,ファジィ推論処理プ
ログラムまたはファジィ推論処理システムを開発するた
めのツールとして用いられるファジィ開発システムおよ
びその動作方法に関する。
【0002】
【従来の技術】ディジタル・ファジィ・プロセッサの開
発ツールや,マイクロプロセッサ等の汎用コンピュータ
にファジィ推論処理を実行させるためのソース・プログ
ラムを開発するためのファジィ開発ツールが市販されて
いる。
【0003】
【発明が解決しようとする課題】既に市販されている上
述の開発ツールでは,推論エンジンが一つのものに固定
化されているので,その推論エンジンの制限(ルール数
,入力変数の種類数,出力変数の種類数等)に合致する
ようにユーザが知識(ルールおよびメンバーシップ関数
)をつくりなおさなければならないという問題がある。
【0004】また,ソース・プログラムを出力する開発
ツールでは,知識の記述を汎用化できるようにしている
ために,冗長性が高いという問題がある。知識(ルール
やメンバーシップ関数)の量が少ない場合でもソース・
プログラムが大型化し,そのためにプログラムを格納す
るメモリ容量が多くなり,また処理速度が遅くなる。
【0005】この発明は,ユーザの希望するシステム(
CPU等)およびユーザが設定する知識に適した推論エ
ンジンおよび知識ファイルを作成することができるファ
ジィ開発システムおよびその動作方法を提供するもので
ある。
【0006】
【課題を解決するための手段】この発明によるファジィ
開発システムは,推論エンジンに関してユーザが要求す
る仕様に関するデータを入力するための第1の入力手段
,ユーザが実現しようとするファジィ推論のための知識
に関するデータを入力するための第2の入力手段,複数
種類の推論エンジン・モジュールをあらかじめ格納した
推論エンジン・ライブラリ,ならびに上記第2の入力手
段によって入力された知識にしたがうファジィ推論に適
しかつ上記第1の入力手段によって入力された仕様に適
合する推論エンジン・モジュールを,上記推論エンジン
・ライブラリに格納されている複数種類の推論エンジン
・モジュールの中から選択する選定手段を備えている。
【0007】この発明によるファジィ開発システムの動
作方法は,複数種類の推論エンジン・モジュールをあら
かじめ推論エンジン・ライブラリに格納しておき,推論
エンジンに関してユーザが要求する仕様に関するデータ
を入力させ,ユーザが実現しようとするファジィ推論の
ための知識に関するデータを入力させ,入力された知識
にしたがうファジィ推論に適しかつ入力された仕様に適
合する推論エンジン・モジュールを,上記推論エンジン
・ライブラリに格納されている複数種類の推論エンジン
・モジュールの中から選択するものである。
【0008】上記ファジィ開発システムは,上記選定手
段によって選択された推論エンジン・モジュールを上記
第2の入力手段によって入力された知識に適するように
,上記第2の入力手段によって入力された知識を上記選
定手段によって選択された推論エンジン・モジュールに
適するようにそれぞれ加工して出力する出力手段をさら
に備えている。
【0009】この発明の一実施態様では,入力された要
求仕様を特徴づけるパラメータと入力された知識を特徴
づけるパラメータとを用いて,所定のルールにしたがう
ファジィ推論演算を行い,その推論演算結果に応じて適
切な推論エンジン・モジュールが選択される。
【0010】上記要求仕様に関するデータはたとえば,
ファジィ推論演算のために使用可能なメモリのワーク・
エリアの容量,推論エンジン・モジュールを格納するた
めの利用可能なメモリ容量,推論エンジン・モジュール
に要求される演算速度,ファジィ推論において希望する
入力データに関する処理の順序およびルールの前件部に
設定するメンバーシップ関数の形状の自由度のうちの少
なくとも一項目に関するデータである。
【0011】上記要求仕様に関するデータには好ましく
はさらに,使用を希望するCPUの型式とその動作クロ
ック周波数に関するデータが含まれる。
【0012】上記要求仕様に関するデータにはさらに好
ましくは,上記ワーク・エリアの容量,メモリ容量,演
算速度,処理順序および自由度についての重要度または
優先順位が含まれる。
【0013】この発明の他の実施態様では,上記の各推
論エンジン・モジュールは,設定された複数のルールの
処理方法を記述したルール処理モジュール,および設定
されたメンバーシップ関数の記述方法とメンバーシップ
関数に対する入力データの適合度を算出する演算方法と
を含むメンバーシップ関数処理モジュールから構成され
る。
【0014】すなわち,上記推論エンジン・ライブラリ
に,設定された複数のルールの処理方法を記述した複数
のルール処理モジュール,および設定されたメンバーシ
ップ関数の記述方法とメンバーシップ関数に対する入力
データの適合度を算出する演算方法とを含む複数のメン
バーシップ関数処理モジュールをあらかじめ格納してお
く。各推論エンジン・モジュールは,ルール処理モジュ
ールとメンバーシップ関数モジュールとの組合せにより
表現される。
【0015】この発明のさらに他の実施態様では,上記
第2の入力によって入力された知識にしたがってファジ
ィ推論のシミュレーションが実行される。必要ならばシ
ミュレーションは知識を修正しながら繰返される。その
シミュレーションによって知識が確定される。
【0016】さらにこの発明の他の実施態様では,上記
推論エンジン・ライブラリに格納されている推論エンジ
ン・モジュールごとに,推論エンジンの所定の項目につ
いての性能を算出するための演算法をあらかじめ格納し
た推論エンジン性能データ・ベース,および上記選定手
段によって選択された推論エンジン・モジュールについ
て,その推論エンジンの特徴パラメータおよび上記第2
の入力手段によって入力された知識の特徴パラメータを
,上記推論エンジン性能データ・ベースに格納されてい
る対応する演算法にあてはめることにより性能を算出す
る性能演算手段が設けられる。
【0017】推論エンジンの性能に関する上記所定の項
目はたとえば,ファジィ推論実行のために必要なメモリ
のワーク・エリア,ファジィ推論エンジンを格納するの
に必要なメモリ容量およびファジィ推論の演算速度のう
ちの少なくとも一項目である。
【0018】上記性能演算手段により算出された性能は
好ましくは表示装置に表示される。
【0019】この発明の一実施態様では,上記選定手段
によって複数の推論エンジン・モジュールが選択され,
選択された複数の推論エンジン・モジュールの性能が上
記性能演算手段によって算出され,複数の推論エンジン
・モジュールについて算出された性能が上記表示装置に
表示される。
【0020】上記表示装置に性能が表示された複数の推
論エンジン・モジュールのいずれか一つがユーザによっ
て選択される。
【0021】上記表示装置に性能が表示された推論エン
ジン・モジュールが拒否されたときには,仕様データの
再入力または知識データの再入力が行なわれる。
【0022】
【作用】複数種類の推論エンジン・モジュールをあらか
じめ推論エンジン・ライブラリに格納させている。
【0023】推論エンジンに関してユーザが要求する仕
様に関するデータと,ユーザが実現しようとするファジ
ィ推論のための知識に関するデータが入力される。
【0024】入力された知識にしたがうファジィ推論に
適しかつ入力された仕様に適合する推論エンジン・モジ
ュールが,上記推論エンジン・ライブラリに格納されて
いる複数種類の推論エンジン・モジュールの中から自動
的に選択される。
【0025】選択された推論エンジン・モジュールを入
力された知識に適するように,入力された知識を選択さ
れた推論エンジン・モジュールに適するようにそれぞれ
加工した上で出力される。
【0026】
【発明の効果】以上のようにしてこの発明によると,ユ
ーザが要求する仕様(性能を含む)を満足する,または
それに近いファジィ推論システム(出力された推論エン
ジン・モジュールと知識ファイルを含む)を構築するこ
とができる。
【0027】推論エンジン・ライブラリ,推論エンジン
性能データ・ベース,または推論エンジン選定のための
ファジィ推論処理のための知識データなどのデータ・ベ
ースを追加するだけで,容易にこの発明によるファジィ
開発システムの機能を向上させることができる。
【0028】この発明はマイクロプロセッサ等の汎用コ
ンピュータ用のファジィ・システム開発のみならず,フ
ァジィ専用プロセッサの開発にも適用できる。
【0029】
【実施例】この発明の実施例は次の目次にしたがって詳
しく説明される。
【0030】目      次 (1) ファジィ開発システムの全体構成(2) ファ
ジィ開発システムの動作の流れ(3) 推論エンジンの
選定処理 (4) 推論エンジンの性能の演算 (5) ルール処理の詳細 (5−1) ルール処理1 (5−2) ルール処理2 (5−3) ルール処理3 (5−4) ルール処理4 (6) メンバーシップ関数(MF)処理の詳細(6−
1) MF処理1 (6−2) MF処理2 (6−3) MF処理3
【0031】(1) ファジィ開発システムの全体構成
このファジィ開発システムでは,ユーザが実現しようと
するファジィ推論処理システムに関する仕様(後述する
ように性能,各項目の重要度,使用するCPUの種類等
を含む)および知識(ルールおよびメンバーシップ関数
を含む)を入力する。ファジィ開発システムは,入力さ
れた仕様を満足しまたは近いかつ入力された知識に適し
た推論エンジン(プログラム・モジュール)を選択する
。選択された推論エンジンは入力された知識に関するよ
うに最適化され,また入力された知識は選択された推論
エンジンにしたがう処理に適した形態に変換されてそれ
ぞれ出力される。このようにしてユーザが希望する仕様
にしたがいかつユーザが設定した知識データをもつファ
ジィ推論システムが自動的に実現される。
【0032】ファジィ開発システムの全体構成が図1に
示されている。
【0033】ファジィ開発システムは,キーボード,マ
ウス等の入力装置およびCRT等の表示装置を含むユー
ザ・インタフェイス16を備えている。このユーザ・イ
ンタフェイス16には,要求仕様エディタ11,ルール
・エディタ12,MF(メンバーシップ関数)エディタ
13,性能表示/確認エディタ14およびシミュレーシ
ョン・エディタ15が接続されている。
【0034】要求仕様エディタ11,ルール・エディタ
12およびMFエディタ13は,ユーザが要求仕様およ
び知識(ルールおよびメンバーシップ関数)に関するデ
ータを入力装置を用いて入力するのに適した表示画面(
たとえばメニュー画面等)を作成して表示装置に表示す
るとともに入力されたデータを取込んで一時記憶するも
のである。要求仕様を入力するときに表示される画面の
例が図3に示されている。
【0035】性能表示/確認エディタ14は,後述する
ように選定された推論,エンジンについて算出された性
能を表示するとともに,その性能で満足するかどうかを
ユーザが入力するために適した画面を表示するものであ
る。
【0036】シミュレーション・エディタ15は,シミ
ュレーションの実行のために必要なデータまたは指令の
入力を促す画面の表示と,シミュレーション結果の表示
とを行うものである。
【0037】要求仕様エディタ11,ルール・エディタ
12,MFエディタ13および性能表示/確認エディタ
14は推論エンジン選定部17と結合している。シミュ
レーション・エディタ15はシミュレーション実行演算
部18と結合している。
【0038】推論エンジン選定部17は,シミュレーシ
ョン実行演算部18,知識一時記憶部19,推論エンジ
ン選定知識データ・ベース21,推論エンジン性能デー
タ・ベース22,推論エンジン・ライブラリ23,推論
エンジン・コンパイル部24および知識データ・コンパ
イル部25と結合している。
【0039】推論エンジン・ライブラリ23はあらかじ
め設定された複数種類の推論エンジン・モジュールを格
納しておく記憶装置である。
【0040】推論エンジン・モジュールは,後に詳述す
るところから明らかなように,ルールについての処理法
を記述したルール処理モジュール(プログラム)(以下
,単にルール処理という)と,メンバーシップ関数の記
述方法(記憶方法)および適合度の演算方法とを含むメ
ンバーシップ関数処理モジュール(プログラム)(以下
,単にMF処理という)とから構成される。
【0041】この実施例では4種類のルール処理と3種
類のMF処理が例示されている。したがって,この実施
例では12種類の推論エンジン・モジュールがある。
【0042】推論エンジン・ライブラリ23には図4に
示すように,各推論エンジン・モジュールごとに,その
モジュールを構成するルール処理およびMF処理と,こ
れらの各処理および知識データを出力するときに加工(
コンパイル)するための方法(具体的には加工を実行す
るためのプログラム)とがあらかじめ格納されている。
【0043】推論エンジン選定部17は,ユーザによっ
て入力された要求仕様および知識に基づいてそれに最も
適した推論エンジンを推論エンジン・ライブラリ23に
格納されている推論エンジンの中から選定する処理を行
う。 この推論エンジン選定処理は後述するようにファジィ推
論演算によって行なわれる。このファジィ推論のための
推論エンジン選定知識(ルールおよびメンバーシップ関
数)がデータ・ベース21に格納されている。データ・
ベース21に格納されているメンバーシップ関数の例が
図5(A) および(B) に示されている。
【0044】推論エンジン選定部17はまた,選定され
た推論エンジンの性能を,推論エンジン性能データ・ベ
ース22に格納されている演算式にしたがって算出する
。推論エンジン性能データ・ベース22の一例が図6に
示されている。ファジィ推論システムを実現するために
ユーザが使用可能なCPUが複数種類ある。これらのC
PUの型式をA,B,C,D,…とする。CPUの型式
ごとに,各推論エンジン(ルール処理とMF処理の組合
せ)に対応して,複数の演算式が格納されている。
【0045】推論エンジン選定部17はさらにシミュレ
ーションの制御,各種データの転送,その他,このファ
ジィ開発システムの全体的な動作の制御を行う。
【0046】シミュレーション実行演算部18は,ユー
ザによって入力された知識にしたがうファジィ推論のシ
ミュレーションを行うものである。このシミュレーショ
ンのための推論エンジンは固定的に一種類のものを定め
ておいてもよい。
【0047】知識一時記憶部19はユーザ・インタフェ
イス16を通して入力されたユーザの設定した知識デー
タを一時的に記憶しておくものである。
【0048】推論エンジン・コンパイル部24は最終的
に決定された推論エンジン・モジュールをユーザの設定
した知識に適合するように加工するものである。知識デ
ータ・コンパイル部25はユーザが設定し一時記憶部1
9に格納されている知識データを,最終的に決定された
推論エンジン・モジュールにしたがう処理に適するよう
に加工するものである。これらのコンパイル部24,2
5で加工された推論エンジン・モジュールおよび知識デ
ータは,推論エンジン・モジュール・ファイル,知識デ
ータ・オブジェクト・ファイルとして最終的に出力され
る。
【0049】(2) ファジィ開発システムの動作の流
れ図2はファジィ開発システムにおける全体的な動作の
流れを示すものである。
【0050】まずユーザが要求する仕様に関するデータ
が,要求仕様エディタ11の制御の下にユーザ・インタ
フェイス16からユーザによって入力される(ステップ
31)。
【0051】図3に示すように,要求仕様には,一回の
ファジィ推論演算を完了するのに要する時間(ファジィ
推論演算開始から終了までの時間)を表わす演算時間(
演算速度,処理速度も同じ意味である)(単位ms),
推論エンジン・モジュールおよび知識データを格納する
ためのメモリ(一般にはROM)の容量(プログラム容
量)(単位はバイト),ファジィ推論処理のために必要
なワーク・エリア(一般にはRAMに設けられる)の容
量(単位はバイト),ルールに記述されたすべての入力
変数についての入力データが揃った後にファジィ推論処
理を実行するか,入力データが揃わなくても入力された
入力データが一つでもあればその入力データについて推
論演算にとりかかるか(入力データの入力順にかつ入力
データごとに推論演算を行う)かを指定する処理順序,
およびルールにおける前件部のメンバーシップ関数の形
状の自由度(曲線も含む任意の形に設定するか,台形を
基本形とするか,三角形で表わすか等)の5項目がある
【0052】この実施例では後件部のメンバーシップ関
数はシングルトンで表わされることになっているので,
後件部のメンバーシップ関数の形状の自由度は入力され
ない。もちろん,後件部のメンバーシップ関数について
もその自由度を入力するようにしてもよい。
【0053】これらの仕様データのうち,演算時間,プ
ログラム容量(ROM容量)およびワーク・エリア容量
(RAM容量)は推論エンジン・モジュールの重要な性
能を表わす。
【0054】仕様データとしては,上記の5項目のそれ
ぞれについての重要度がさらに入力される。重要度は0
〜5の6種類の数字によって表現される。重要度の高い
ものほど大きい数字が割当てられる。この重要度は後述
する推論エンジン・モジュールを選定するためのファジ
ィ推論演算において用いられる。重要度を優先順位とし
てもよい。
【0055】要求仕様としては上記の事項に加えて,ユ
ーザが使用するCPUの型式とその動作クロック周波数
が入力される。
【0056】続いて,ユーザが実現を希望するファジィ
推論システムのための知識データ(ルールおよびメンバ
ーシップ関数)が,ルール・エディタ12およびMFエ
ディタ13の制御の下に,ユーザ・インタフェイス16
を通してユーザによって入力される(ステップ32)。 知識データの入力の仕方はシミュレーション実行演算部
18における推論エンジンに依存する。もっともユーザ
が入力した知識データをこの推論エンジンに適した形に
変換することもできる。または,仕様項目のうちのMF
自由度にしたがってMFデータを入力するようにしても
よい。たとえば図3に示すように,メンバーシップ関数
として台形を基本形としてユーザが選択したときには,
この基本形を表わすのに必要なデータをユーザが入力で
きるようにする。
【0057】知識データの入力が完了するとこの知識デ
ータは知識一時記憶部19に記憶される。そして,ユー
ザ・インタフェイス16からのシミュレーション開始指
令に応答して,シミュレーション実行演算部18によっ
て記憶部19の知識データに基づくファジィ推論演算の
シミュレーションが行なわれる(ステップ33)。シミ
ュレーションは,入力データをランダムに与えて,また
は一定の順序にしたがって与えることにより行なわれる
であろう。 シミュレーション結果はシミュレーション・エディタ1
5の制御の下に表示装置に表示される。この表示はたと
えば入出力特性を示すグラフ等の形で表現されるであろ
う。
【0058】ユーザはこのシミュレーション結果をみて
,先に入力した知識データが充分に満足のいく結果を生
じさせるものか,またはまだ不充分であるかを判断し,
知識を修正するかどうかを決定する(ステップ34)。
【0059】知識を修正する場合には,ユーザ・インタ
フェイス16を用いて知識の修正作業を行う。修正され
た知識データは知識一時記憶部19に記憶される(ステ
ップ35)。この後,再びシミュレーションが実行され
る。必要ならば,知識データの修正とシミュレーション
とが繰返される。
【0060】いずれにしてもシミュレーションの結果を
みてユーザが設定した知識でよいと判定し,その旨をユ
ーザ・インタフェイス16から入力すると,このように
して確定された知識データからパラメータが抽出される
(ステップ36)。
【0061】知識データを特徴づけるパラメータには,
ルール数PN,入力変数の種類数IN,出力変数の種類
数ON,全ルールに含まれる前件部の命題(サブルーチ
ン)の数ZN,全ルールに含まれる後件部の命題の数K
N,前件部で用いるメンバーシップ関数の種類数ZM,
後件部で用いるメンバーシップ関数の種類数KM等があ
る。
【0062】上述のように推論エンジン選定知識データ
・ベース21には,推論エンジン・ライブラリ23に格
納されている12種類の推論エンジン・モジュールから
適切なものを選択するために行うファジィ推論演算のた
めの知識(ルールおよびメンバーシップ関数)が格納さ
れている。この知識は,後述するところから明らかにな
るように,要求仕様の5項目および上述した入力知識か
ら抽出されたパラメータのうちの4種類に関連して記述
されている。
【0063】推論エンジン選定部17はデータ・ベース
21に設定されている推論エンジン選定知識にしたがっ
て,入力された要求仕様の重要度および入力知識から抽
出されたパラメータを用いてファジィ推論演算を行い,
その演算結果にしたがって,ライブラリ23の12種類
の推論エンジンの中からいくつかの推論エンジン(この
実施例ではルール処理2種類,MF処理2種類,これら
の組合せによる推論エンジン・モジュール4種類)を候
補として選択する(ステップ37)。
【0064】続いて推論エンジン選定部17は,候補と
して選択した4種類の推論エンジン・モジュールの性能
を,データ・ベース22に格納されている演算式にした
がって算出する(ステップ38)。算出される性能には
,プログラム容量(ROM容量),ワーク・エリア容量
(RAM容量)および演算時間がある。
【0065】これらの4種類の推論エンジン・モジュー
ルのうち先に入力された要求仕様に最も近い性能をもつ
推論エンジン・モジュールとその性能が,エディタ14
の制御の下に表示装置に表示される(ステップ39)。
【0066】ユーザはこの表示をみて,表示された推論
エンジン・モジュールの性能が満足できるものかどうか
を判断し,その結果をユーザ・インタフェイス16から
入力する(ステップ40)。この判断結果の入力はエデ
ィタ14を通して選定部17に与えられる。
【0067】表示された推論エンジン・モジュールの性
能が満足できない場合には,ユーザは要求仕様を変更す
るか,知識を修正することができる(ステップ41)。 要求仕様を変更する場合にはステップ31に戻って最初
からやりなおすことになる。知識を修正する場合にはス
テップ35に戻って知識修正の段階からやりなおすこと
になる。
【0068】ステップ38で算出された4種類の推論エ
ンジン・モジュールの性能のすべてを表示装置に表示す
るようにしてもよい。この場合には,ユーザは表示され
た4種類の性能の中から最も好適なものを選択するか,
または要求仕様の変更もしくは知識の修正を行うことに
なる。
【0069】いずれにしてもユーザが満足する性能をも
つ推論エンジン・モジュールがあれば(ステップ40で
YES),その推論エンジン・モジュールがライブラリ
23から読出されて推論エンジン・コンパイル部24お
よび知識データ・コンパイル部25に与えられるととも
に,記憶部19に記憶されている知識データが両コンパ
イル部24,25に与えられる。
【0070】推論エンジン・コンパイル部24では,ラ
イブラリ23から読出された推論エンジン・モジュール
を,記憶部19から読出された知識に適合するように最
適化する処理(コンパイル)(たとえば入力変数の種類
数,ルール数,プログラムのループ回数等のパラメータ
の設定)が行なわれる。他方,知識データ・コンパイル
部25では,記憶部19から読出された知識データを推
論エンジン・モジュールにしたがう処理に合うように加
工する処理(コンパイル)(たとえば,ルール・データ
の並び変え,メンバーシップ関数データの作成と配列等
)が行なわれる(ステップ42)。
【0071】これらのコンパイルされた推論エンジン・
モジュールおよび知識データは,推論エンジン・モジュ
ール・ファイルおよび知識データ・オブジェクト・ファ
イルとして出力される(ステップ43)。
【0072】(3) 推論エンジンの選定処理上述した
ように推論エンジン・モジュール(プログラム)は,ル
ール処理(モジュール・プログラム)とMF処理(モジ
ュール・プログラム)とから構成される。この実施例で
はルール処理は4種類設定されており,これらをルール
処理1,ルール処理2,ルール処理3,ルール処理4,
またはR1,R2,R3,R4でそれぞれ表わす。また
,MF処理は3種類設定され,これらをMF処理1,M
F処理2,MF処理3,またはM1,M2,M3で表わ
す。
【0073】これらのルール処理およびMF処理の詳細
は後述するが,ここではそれらの特徴について簡単に説
明しておく。
【0074】ルール処理1(R1)は,ルール・データ
を入力の順序にしたがってルール・メモリに記憶し,ル
ール・メモリに記憶されているルール・データの順序に
したがって推論演算を実行するものであり,適合度を記
憶するワーク・エリアが1バイト分ですむ,すなわちワ
ーク・エリア容量(RAM容量)が少なくてよいという
特徴をもつ。
【0075】ルール処理2(R2)は,ルールの記述の
中から共通のサブルール(前件部の命題)を抽出し,記
述されている回数が多い順序にサブルールを並び変えて
ルール・メモリに記憶し,ルール・メモリに記憶されて
いるサブルールの順序にしたがって推論演算を実行する
ものであり,演算速度が速い(演算時間が短い)という
特徴をもつ。入力変数の種類や前件部の命題数(サブル
ール数)が多い場合には,重複するサブルールも多いと
考えられるので,ルール処理2はこのような場合にも有
効である。
【0076】ルール処理3(R3)は,設定されたすべ
ての前件部メンバーシップ関数に対する与えられたデー
タの適合度を演算してメモリに記憶し,各ルールの処理
においてメモリの対応する適合度を参照するものである
。すべての適合度を前もって演算しておくので処理速度
が速いという特徴をもつ。
【0077】ルール処理4(R4)は,入力データが与
えられた順番にしたがって,入力データごとに,その入
力データに関連するルールの処理を行うものである。ル
ール処理1〜3は,すべての入力データが揃ってから推
論演算を開始するものであるのに対して,ルール処理4
は入力データが与えられる順番にしたがって順次処理を
実行していくという特徴をもつ。入力変数の種類数が多
い場合には入力データが全く揃うまでに相当の時間がか
かる場合がある。ルール処理4(R4)は入力データが
揃うのを待つ必要がないので入力変数の種類数が多い場
合に有効である。
【0078】MF処理1(M1)は,メンバーシップ関
数ごとに,メンバーシップ関数値をメンバーシップ関数
メモリに記憶しておき,与えられた入力データに対応す
るメンバーシップ関数値を上記メモリから読出して適合
度として出力するものである。ROM(メンバーシップ
関数メモリ)容量は大きいが,演算速度が速い,MF形
状の自由度が大きいという特徴をもつ。
【0079】MF処理2(M2)は,メンバーシップ関
数ごとに,台形を基本形とするメンバーシップ関数を表
わすデータとして変曲点の座標と立上りおよび立下りの
傾きとをメンバーシップ関数メモリに記憶しておき,こ
れらのデータを用いて,与えられた入力データに対する
適合度を求めるものである。MF形状の自由度および演
算速度が中位で,ROM容量は小さくてよいという特徴
をもつ。
【0080】MF処理3(M3)は,一入力変数につい
ての複数の三角形状のメンバーシップ関数を,隣接する
2つのメンバーシップ関数が相互に重複しかつこれら重
複区間において対称となるように設定し,各メンバーシ
ップ関数の頂点の座標と左右いずれか一方の傾きとをメ
ンバーシップ関数メモリに記憶しておき,これらのデー
タを用いて,与えられた入力データに対する適合度を求
めるものである。MF形状の自由度は小さいが,ROM
(メンバーシップ関数メモリ)容量は極端に少なくてす
み,とくに前件部の命題数が多いときに有効である。
【0081】各処理R1〜R4,M1〜M3の上記のよ
うな特徴を利用して,これらの処理を選定するためのル
ールが作成される。そのルールはたとえば次のようなも
のである。
【0082】If  SP=S  &  WA=L  
&  JY=S  &  RN=L  &  IN=S
  &  ON=S,then  RU=R1If  
SP=L  &  JY=S  &  IN=L  &
  ZN=L,then  RU=R2 If  SP=L  &  WA=S  &  JY=
S  &  RN=L  &  IN=S  &  Z
N=S,then  RU=R3If  RO=S  
&  JY=L  &  IN=L  &  ZN=L
,then  RU=R4 If  RO=S  &  SP=L  &  MF=
L  &  IN=S  &  ZN=S,then 
 MF=M1If  RO=L  &  SP=M  
&  MF=M  &  IN=L  &  ZN=M
,then  MF=M2If  RO=L  &  
MF=S  &  IN=L  &  ZN=L,th
en  MF=M3
【0083】ここで,SP,WA,RO,JY,MFは
要求仕様項目に関する前件部変数,RN,IN,ON,
ZNは知識から抽出されたパラメータに関する前件部変
数で次の意味をもつ。
【0084】 SP;演算時間(演算速度)の重要度 WA;RAM(ワーク・エリア)容量の重要度RO:R
OM(ルール・データまたはメンバーシップ関数メモリ
:プログラム・メモリ)容量の重要度JY;処理順序の
重要度 MF;MF形状の自由度の重要度 RN;ルール数 IN;入力変数の種類数 ON;出力変数の種類数 ZN;前件部の命題の数(入力変数とメンバーシップ関
数の組合せの数)
【0085】また,S,LおよびMはメンバーシップ関
数のラベル(メンバーシップ関数を表わす言語情報)を
表わしている。前件部変数WAとJYについてのラベル
SとLは図5(A) に,前件部変数SP,RO,MF
,RN,IN,ON,ZNのラベルS,M,Lについて
は図5(B) にそれぞれ表わされている。Sは小さい
(Small ),Lは大きい(Large ),Mは
中位(Medium)をそれぞれ表わす。
【0086】たとえば第1番目のルールは,SP=S(
演算速度は遅い),かつWA=L(RAM容量は少なく
てすむ),かつJY=S(入力データが揃ってから行う
),かつRN=L(ルール数が多いときに有効),かつ
IN=S(入力変数の数が少ないときに有効),かつO
N=S(出力変数が少ないときに有効),then(な
らば),RU=R1(ルール処理はR1とすべきである
),ということを表現している。
【0087】後件部においてRUはルール処理を,MF
はMF処理をそれぞれ表わす後件部変数である。後件部
メンバーシップ関数はシングルトンで表現されている。
【0088】図2のステップ37では,上述したルール
にしたがって,入力された要求仕様項目の重要度および
知識から抽出されたパラメータの値を入力データとして
ファジィ推論が行なわれる。そして,ルール処理および
MF処理のそれぞれについて後件部の命題のうち適合度
の大きいものから2つずつ選定させる。2種類のルール
処理と2種類のMF処理との組合せによって合計4種類
の推論エンジン・モジュールが選定されることになる。
【0089】(4) 推論エンジンの性能の演算上述し
たように図2,ステップ38では,上述のようにして選
定された4種類の推論エンジン・モジュールについてそ
れらの性能が算出される。
【0090】一例として,ルール処理1(R1)とMF
処理1(M2)の組合せによって構成される推論エンジ
ン・モジュールの性能演算について説明する。
【0091】要求仕様の入力において使用CPUとして
CPUAが入力されているものとする。図6に示す推論
エンジン性能データ・ベースから,CPUAに関して,
ルール処理1MF処理1に対応して設定されたRAM容
量WAA11についての演算式(以下に述べる式1),
ROM容量ROA11についての演算式(式2),およ
び演算速度SPA11についての演算式(式3)が読出
される。
【0092】RAM容量WAA11(単位はバイト)は
必要なワーク・エリアの容量を意味し,次式で与えられ
る。
【0093】 WAA11=IN+KM+ON+1        …
式1IN;入力変数の種類数(図9(A) 参照)KM
;後件部における出力変数とメンバーシップ関数とのす
べての組合せの数(図9(C) 参照)ON;出力変数
の種類数(図9(B) 参照)
【0094】式1の最後
の1は適合度エリアとして1バイト必要であることを意
味する(図9(D) 参照)。
【0095】ROM容量ROA11(単位はバイト)は
プログラム(推論エンジン・モジュール)および知識デ
ータ(ルールおよびメンバーシップ関数)を格納するの
に必要なメモリ容量を意味し,次式で与えられる。
【0096】   ROA11=XSA1+XMA1+XR1+ZM×
256         …式2XSA1;CPUAで
実行する場合のルール処理1のモジュール・ファイル容
量 XMA1;CPUAで実行する場合のMF処理1のモジ
ュール・ファイル容量 XR1  ;ルール・データを格納するために必要なメ
モリ(ルール・メモリ)容量(図8参照)ZM    
;前件部メンバーシップ関数の種類数(図23に示すM
F−0〜MF−Nの数)
【0097】式2の最後の256 は1種類の前件部メ
ンバーシップ関数を格納するのに256 バイト必要で
あることを意味する。すなわち,メンバーシップ関数値
および入力データ(アドレスに対応)がともに8ビット
で表現されている(1バイト=8ビット)。
【0098】演算速度SPA11(単位はms)は上述
したように一回のファジィ推論処理に要する時間であり
,次式で与えられる。
【0099】   SPA11=(ZN×XCA1+KN×XCA2+
SN×XCA3+ON            ×XC
A4)/DCLK                 
         …式3ZN    ;  全ルール
における前件部命題(サブルール)の数 XCA1;CPUAで実行する場合の前件部命題に関す
る処理に要するステップ数(図10のステップ52〜5
4の処理のためのステップ数) KN    ;全ルールにおける後件部命題の数XCA
2;CPUAで実行する場合の後件部命題に関する処理
(図10のステップ55〜56)に要するステップ数S
N    ;前件部および後件部のサブルールの数(図
8参照) XCA3;CPUAによるサブルールの読出し(図10
ステップ51)に要するステップ数 ON    ;出力変数の数 XCA4;CPUAで実行する場合の確定演算処理(図
10ステップ57〜58)に要するステップ数DCLK
;動作クロック周波数
【0100】式3では図10のステップ59および60
の処理に要する時間は省略されているが必要に応じて加
算してもよい。
【0101】上記において,XCA1〜XCA4のステ
ップ数は1クロック当り1ステップとしている。
【0102】CPUの型式によってコマンドの種類(M
IN,MAX演算,加,減,乗,除算等)が異なるので
,上記のXSA1,XMA1,XCA1〜XCA4はC
PUの型式によって異った値となる。
【0103】後に詳述するようにルール処理1は図8〜
図10,MF処理1は図23,図24に示されているの
で,上記の説明ではこれらの図面に言及している訳であ
る。
【0104】図6から明らかなように,推論エンジン性
能データ・ベースには,各型式のCPUごとに,すべて
の推論エンジン・モジュールについて,RAM容量WA
Aij,ROM容量ROAijおよび演算速度SPAi
jを算出するための演算式が格納されているので,ステ
ップ38では,選定された推論エンジン・モジュールに
ついて入力された使用CPUの型式にしたがって,それ
らの性能が算出される。
【0105】(5) ルール処理の詳細推論エンジン・
モジュールは,上述したように,ルール処理とMF処理
とから構成される。ここでは4種類のルール処理につい
て説明する。
【0106】説明を具体的にかつ分り易くするために,
図7に示すようなルール(If, thenルール)が
設定されているものとする。
【0107】x1,x2,x3,x4は入力変数である
。入力変数の種類数は4に限られない。y1,y2は出
力変数である。出力変数の種類は2に限られない。
【0108】PL〜NLはメンバーシップ関数のラベル
である。7種類のラベルがあり,PLは正に大きい(P
ositive Large),PMは正に中位(Po
sitive Medium ),PSは正に小さい(
Positive Small),ZRはほぼ零(Ze
ro),NSは負に小さい(Negative Sma
ll),NMは負に中位(Negative Medi
um ),NLは負に大きい(Negative La
rge)を意味する。
【0109】前件部のメンバーシップ関数は入力変数ご
とに7種類ずつあるものとする。もちろんラベルが同じ
でも入力変数が異なればメンバーシップ関数の形や位置
は異っていてもよい。たとえば入力x1についてのPL
のメンバーシップ関数(これを入力x1−PLと表わす
)と入力x2についてのPLのメンバーシップ関数(入
力x2−PL)とは一般的には異なるものである。
【0110】後件部のメンバーシップ関数も,出力変数
ごとに上記の7種類設定されているものとする。ここで
は簡単のために後件部メンバーシップ関数はシングルト
ンで表わされているものとする。
【0111】(5−1) ルール処理1ルール処理1の
詳細が図8から図10に示されている。
【0112】図7に示す各ルールの前件部と後件部は入
力変数または出力変数ごとに分解される。この分解され
たものをサブルールという。たとえばルール1は次の4
つのサブルールに分解される。
【0113】If   x1=PL and   x2=PL and   x4=PS then  y1=PM
【0114】If またはand に続くサブルールは
前件部のもので,前件部を示すコードANTが付加され
る。thenに続くサブルールは後件部のもので,後件
部を示すコードCONが付加される。
【0115】このようなサブルールを表わすデータがル
ールの順序にしたがって上記コードとともに,図8に示
すようにルール・メモリに記憶される。ルールの順序,
すなわちルール番号はユーザが任意に定めることができ
る。サブルールの最後に,確定演算処理を示すコードD
EFと確定演算処理に関する情報(確定演算処理を行う
べき出力変数の種類や確定演算方法を表わす)が配列さ
れる。これらのルール・データの末尾に,終了コードE
NDと終了処理情報が配置される。
【0116】図9はワーク・エリアを示すものである。 ワーク・エリアには入力データ・エリア,出力データ・
エリア,後件部データ・エリアおよび適合度エリアが設
けられる。
【0117】入力データ・エリア(図9(A) )は各
入力変数についての入力データを記憶するもので,入力
変数の種類数(式1のIN)の記憶場所(各1バイト)
をもつ。
【0118】出力データ・エリア(図9(B) )は,
各出力変数についてのファジィ推論結果を出力データと
して格納するもので,出力変数の種類数(式1のON)
の記憶場所をもつ。
【0119】後件部データ・エリア(図9(C) )は
,出力変数ごとに,そのメンバーシップ関数に作用させ
るべき適合度を記憶するもので,後件部のメンバーシッ
プ関数の種類数(出力変数の種類数×7ラベル)(式1
のKN)の記憶場所をもつ。
【0120】適合度エリアは(図9(D) ),適合度
演算によって算出された,またはMIN演算結果である
適合度を一時的に記憶するもので,1バイト分の記憶場
所からなる。
【0121】図10はルール処理手順のうちの推論演算
部分の処理の流れを示すものである。
【0122】ルール・メモリから1つずつサブルールが
読出され(ステップ51),それに付随するコードがA
NTか,CONか,DEFかが判定される(ステップ5
2,55,57)。
【0123】コードがANTであれば前件部であるから
,そのサブルールの入力変数についての入力データが入
力データ・エリアから読出され,この入力データの同サ
ブルールのメンバーシップ関数に対する適合度が算出さ
れる(ステップ53)。この適合度演算処理がMF処理
で行なわれることになるので詳細については後述する。
【0124】算出された適合度と適合度エリアに記憶さ
れている値(その初期値は適合度の最大値である1であ
る)とのMIN演算が行なわれ,MIN演算結果が適合
度エリアに記憶される(ステップ54)。このMIN演
算は1つのルールに含まれるすべての前件部サブルール
の間において行なわれる。
【0125】ルール・メモリのアドレスを示すアドレス
・カウンタがインクレメントされ(ステップ59),ス
テップ51に戻って次のサブルールの読出しが行われる
【0126】読出されたサブルールのコードがCONで
あれば後件部であり,そのルールについての処理の終了
段階である。適合度エリアの適合度(MIN演算結果)
とそのサブルールの後件部メンバーシップ関数について
後件部データ・エリアに格納されている値(初期値は0
)との間でMAX演算が行われ,MAX演算結果が後件
部データ・エリア内の該当する後件部メンバーシップ関
数についての記憶場所に格納される(ステップ56)。
【0127】このMAX演算は,ルール1とルール6の
ように後件部が同じ(ともにy1=PM)であるルール
間で,共通の後件部メンバーシップ関数に作用させるべ
き唯一の適合度を得るために行なわれる。
【0128】この後,アドレス・カウンタがインクレメ
ントされてステップ51に戻る。
【0129】読出されたコードがDEFの場合には,後
件部データ・エリアに格納されている適合度データを用
いて,出力変数ごとに,確定演算処理が行なわれる(ス
テップ58)。後件部メンバーシップ関数がシングルト
ンの場合には,後件部データ・エリアの適合度がそのま
ま対応するシングルトンの高さを表わす。確定演算処理
には,このような適合度が作用された後件部メンバーシ
ップ関数(シングルトン)の重心位置を求める重心法,
最も高さの高いメンバーシップ関数を選択する最大高さ
法等がある。確定演算処理結果は出力変数ごとに出力デ
ータとして出力データ・エリアに格納される。
【0130】この後,アドレス・カウンタがインクレメ
ントされて終了コードが読出されるので(ステップ59
,51),出力データの出力等の終了処理が行なわれて
1回のファジィ推論演算が終了する(ステップ60)。
【0131】(5−2) ルール処理2ルール処理2の
詳細が図11から図15に示されている。
【0132】ルール処理2では,一群のルールの解析と
再編成が行なわれる。たとえば,図7に示すルール群は
図11に示すように再編成される。
【0133】この解析と再編成処理は次の手順で行なわ
れる。
【0134】S1.  すべてのルールの前件部におい
て最も頻繁に現われる命題(サブルール)が見付け出さ
れる。図7に示すルール群では,x1=PLという命題
が最も多く出現している。
【0135】S2.  次に,上記S1で抽出したx1
=PLという命題を前件部に含むルールによって1つの
グループを形成する。x1=PLはルール1,2,6,
8,9に含まれているので,これらのルールが1つのグ
ループを形成することになる。
【0136】S3.  このグループに属するルールに
おいて,上記S1で抽出した命題x1=PLのみを前件
部にもつルールが存在するかどうかを調べ,存在すれば
そのルールを抽出する。ルール8の前件部はx1=PL
のみからなる。
【0137】S4.  上記グループのうち上記S3で
排除したルール8を除く他のルールの中で最も多く出現
する前件部命題を見つけ出す。残りのルール1,2,6
,9の中で最も頻繁に現われるのは命題x2=PMであ
る。
【0138】この命題x2=PMを前件部にもつルール
によってサブグループを形成する。ルール1,6,9が
サブグループを形成することになる。
【0139】S5.  このサブグループについて上記
S3およびS4と同様の処理を繰返すことにより,前件
部に含まれる命題の出現頻度の高い順,前件部命題の数
の少い順に,サブグループ内のルールを再配列する。
【0140】S6.  x1=PLを含むグループ内の
ルールの再配列が終了したのち,残りのルールについて
上記S1〜S5の処理を繰返す。
【0141】S7.  すべてのルールについて再配列
が終了すると,これらのルールをサブルールに分解し,
かつサブルールをファジィ推論演算の逐次処理に適した
順序に配列するとともに各サブルールにコード(または
コマンド)を付与する。
【0142】たとえば,上記のグループに属するルール
1,2,6,8,9のサブルールは,図12に示すよう
にツリー構造を形成するように体系付けられる。
【0143】最も頻度の高い命題x1=PLにコードI
fが付与される。
【0144】この命題x1=PLのみを前件部に含むル
ール8の後件部にコードTHENが付与される。
【0145】2番目に頻度の高い命題x2=PMにコー
ドAND1が付与される。
【0146】これらの命題x1=PLとx2=PMをと
もに含むルール1,6,9において第3番目の命題x3
=PM,x4=PSにコードAND2が付加され,それ
らの後件部にコードTHENが付加される。
【0147】命題x1=PLを含む他のルール2の2番
目の命題x4=ZRにコードAND1が付与され,その
後件部にコードTHENが付与される。
【0148】これらのサブルールが上記の再配列された
ルールの順序に配列されて,図13に示すように,ルー
ル・メモリに記憶される。
【0149】ルール処理2においても,ワーク・エリア
には,図9(A) ,(B) ,(C) に示す入力デ
ータ・エリア,出力データ・エリアおよび後件部データ
・エリアが設けられる。
【0150】適合度エリアには図14に示すように複数
のレジスタR1,R2,R3,…,Riが設けられる(
符号R1,R2,…はルール処理の符号と重複している
が,相互に関係はない)。
【0151】ルール処理2におけるファジィ推論演算の
処理手順が図15に示されている。この図において,図
10に示す処理と同一処理については同一のステップ番
号が()内に示されている。
【0152】ルール・メモリから読出されたサブルール
のコードが判定される(ステップ61,62,65,6
8,70)。
【0153】コードがIfの場合には,そのサブルール
における算出された適合度は第1番目のレジスタR1に
格納され,かつ他のすべてのレジスタの内容がクリアさ
れる(ステップ62〜64)。
【0154】コードがANDi(i=1,2,…)の場
合には,そのサブルールにおける算出された適合度とレ
ジスタRiに格納されている適合度とのMIN演算が行
なわれ,このMIN演算結果がレジスタR(i+1)に
格納される(ステップ65〜68)。レジスタR(i+
1)の番号(i+1)はレジスタ番号カウンタに記憶さ
れる。
【0155】コードがTHENの場合には,レジスタ番
号カウンタに記憶されている番号のレジスタに格納され
ている適合度と後件部データ・レジスタの対応する記憶
場所の値とのMAX演算が行なわれ,このMAX演算結
果は対応する記憶場所に格納される(ステップ68,6
9)。
【0156】コードDEFおよびENDの場合にはルー
ル処理1のステップ58,60と同じである(ステップ
71,73)。
【0157】このルール処理2は,出願人が特願平2−
139106において「ファジィ推論のためのファジィ
推論ルール記述適正化方法」として開示したものである
【0158】(5−3) ルール処理3ルール処理3の
詳細が図16から図18に示されている。
【0159】ルール処理3は,前件部における入力変数
とメンバーシップ関数のすべての組合せについて,適合
度をあらかじめ演算し,メモリのワーク・エリアに記憶
しておくものである。
【0160】このようにして作成された適合度エリアが
図17に示されている。適合度エリア以外のワーク・エ
リア,すなわち入力データ・エリア,出力データ・エリ
アおよび後件部データ・エリアは図9(A) ,(B)
 ,(C) ,(D) に示すものと同じである。図9
(D) に示す適合度エリアもMIN演算結果を記憶す
るために用いられる。
【0161】ルールは適合度エリアのアドレスを用いて
記述される。ルール・メモリの内容が図16に示されて
いる。たとえば第1番目のサブルールはx1=PLであ
る(図8参照)。したがって,第1番目のサブルールを
示すデータは,適合度エリアのx1=PLに関する適合
度が記憶されている場所のアドレスad1ということに
なる。他の点については図8に示すルール・メモリと同
じである。
【0162】したがって,ファジィ推論処理では図18
に示すように,まず前件部のすべてのメンバーシップ関
数に対する入力データの適合度の演算処理が行なわれる
(ステップ81)。
【0163】ルール・メモリからコードとアドレス(ル
ール・データ)とが読出され,コードがANTか,CO
Nか,DEFかが判定される(ステップ82,52,5
5,57)。
【0164】コードがANTの場合には,ルール・デー
タであるアドレス・データを用いて適合度エリアがアク
セスされ,そのアドレスに格納されている適合度が読出
されて,MIN演算が行なわれる。
【0165】他の処理は図10に示すものと同じであり
,同一のステップ符号を付して重複説明を避ける。
【0166】(5−4) ルール処理4ルール処理4は
上述したように,入力データの入力順に,入力データご
とに適合度演算を含むファジィ推論処理を行うものであ
り,その詳細が図19から図22に示されている。
【0167】図19はルール・メモリの内容を示すもの
である。ルールは図7に示すものと同じであるが,メン
バーシップ関数が組合されていない入力変数については
その旨を示すコードSが組合されている(たとえばルー
ル1のx3=Sなど)。
【0168】図20はRAMのワーク・エリアを示すも
のである。入力データ・エリアは原則的に1つの入力デ
ータを格納する容量(1バイト)をもてばよい。出力デ
ータ・エリアおよび後件部データ・エリアは図9に示す
ものと同じである。適合度エリアは1つの入力変数に関
する7種類のメンバーシップ関数についての適合度を記
憶する容量をもつ。さらにMINレジスタ・エリアが設
けられている。このMINレジスタ・エリアは,ルール
ごとにその前件部処理において得られる適合度のMIN
演算結果を記憶するものである。この実施例ではルール
の数をmxとする。
【0169】ファジィ演算処理の手順について図21を
参照して説明する。入力変数x1,x2,x3,x4の
順に入力データが与えられるものとする。
【0170】まず,すべてのMINレジスタが初期化さ
れる(ステップ91)。この初期化処理では適合度の最
大値,すなわち1が全MINレジスタにセットされる。
【0171】続いて入力変数番号を指示するカウンタの
値nが1にセットされる(ステップ92)。入力変数x
1,x2,x3およびx4の入力変数番号をそれぞれ1
,2,3および4とする。
【0172】第1番目の入力変数x1についての入力デ
ータを受信(または入力)するまで待つ。その入力デー
タを受信すると,受信した入力データは入力データ・エ
リアに記憶される(ステップ93)。
【0173】受信した入力データの入力変数について設
定されたすべてのメンバーシップ関数PL〜NLに対す
る入力データの適合度が求められ,得られた適合度がメ
ンバーシップ関数のラベルに対応して適合度エリアに記
憶される(ステップ94)。
【0174】ルール番号を示すカウンタの値mが1に初
期化される(ステップ95)。
【0175】ルール・メモリが参照され,ルールmにお
ける入力変数xnに組合せられたメンバーシップ関数の
ラベルがコードSであるかどうかがチェックされる(ス
テップ96,97)。入力変数xnにコードSが組合さ
れている場合にはその入力変数について次に述べる前件
部処理を行なう必要はない。
【0176】ルールmにおける入力変数xnに組合され
たメンバーシップ関数のラベルがコードS以外,すなわ
ちPL〜NLのいずれか1つであれば,適合度エリアか
らそのラベルに対応する適合度が読出され(ステップ9
8),この適合度がそのルールmについてのMINレジ
スタに設定されている適合度よりも小さいかどうかが判
定される(MIN演算)(ステップ99)。第1番目の
入力変数x1の場合には,MINレジスタは上記のよう
に最大値1をセットすることにより初期化されているか
ら,読出された適合度が1以外であればステップ99の
判定は常にYESとなる。ステップ99でYESとなれ
ば,適合度エリアから読出された適合度がMINレジス
タに記憶され,MINレジスタの内容が更新される(ス
テップ100 )。このようにして,各入力変数につい
ての処理ごとに,その入力変数が関連するルールの適合
度のMIN演算が行なわれ,そのルールにおける適合度
の最小値が求められていく。
【0177】ルール番号を表わすカウンタの値mが1ず
つインクレメントされることにより,上述したステップ
96〜100 の前件部処理がルールごとに繰返されて
いく(ステップ101 ,102 )。
【0178】上記カウンタの値mがmx+1になるとす
べてのルールについての上記前件部処理が終了したこと
になり,入力変数番号を示すカウンタnが1つインクレ
メントされ,次の入力変数が指示され(ステップ103
 ),次の入力変数の入力データの受信を待つことにな
る(ステップ104 )。
【0179】このようにして,入力データが受信される
毎に受信した入力データの入力変数に関する前件部処理
が行なわれるので,図22に示すように,次の入力デー
タの転送中に,先に受信した入力データについての前件
部処理を実行することができる。このためデータ転送に
長い時間を要する場合でも待ち時間を削減して全体の処
理効率を向上させることが可能となる。図22において
入力xEデータは最後の入力データを意味し,この実施
例の入力変数x4の入力データに対応する。
【0180】最後の入力変数x4についての前件部処理
が終了すると(ステップ104 ),後件部が同一であ
るルールが存在するかどうかがチェックされる。たとえ
ば図19に示すルール1とルール6はともに後件部がy
1=PMで同一である。ルール2とルール5は後件部が
y1=ZRで同一である。このように後件部が同一であ
るルール間において,各ルールで得られた適合度のMA
X演算が行なわれ,このMAX演算結果がその後件部の
メンバーシップ関数のラベルに作用させるべきものとし
て後件部データ・エリアに記憶される(ステップ105
 )。たとえば,ルール1の前件部処理で得られた適合
度をa1(上述のMIN演算結果,すなわちMINレジ
スタに記憶されている適合度),ルール6の適合度をa
6とする。これらの適合度a1とa6のMAX演算が行
なわれ,その結果,A1=a1またはa6のいずれか大
きい方が後件部のメンバーシップ関数PMに作用させる
べきものとして後件部データ・エリアに保存される。
【0181】このようにして,後件部のメンバーシップ
関数に作用させるべき適合度(上記のMAX演算結果,
または同一の後件部をもつルールが2つ以上存在しない
場合にはルールごとの適合度)が得られるとこれらの適
合度はすべて後件部データ・エリアに一旦記憶される。 これらの適合度を対応する後件部メンバーシップ関数に
作用させ(MIN演算,またはトランケーション),得
られたメンバーシップ関数相互のMAX演算が実行され
る。これが後件部演算処理である(ステップ106 )
【0182】最後に,後件部演算処理結果に対する非フ
ァジィ化処理により,出力変数についての確定した出力
データが得られる(ステップ107 )。この出力デー
タは出力変数ごとに出力データ・エリアに記憶される。
【0183】このルール処理4は出願人が「ファジィ推
論処理方法および装置」として既に出願したものである
(平成3年5月15日出願,整理番号 90194)。
【0184】(6) メンバーシップ関数(MF)処理
の詳細 次に3つのMF処理について説明する。
【0185】(6−1) MF処理1 MF処理1は図23および図24に示されている。
【0186】この処理では各メンバーシップ関数は,そ
の関数値(グレード)が変数値をアドレスとしてメモリ
(ROM)に格納される。グレードはたとえば8ビット
で表現される。変数値も8ビットで表現され,それぞれ
のメンバーシップ関数において00〜FFの値をとる。
【0187】図23に示すようにMF−0〜MF−Nの
N+1種類のメンバーシップ関数が設定されている。メ
ンバーシップ関数の変数値が下位8ビットのアドレスで
表現され,第9位以上の上位ビットによってメンバーシ
ップ関数の種類(ラベルまたは番号)が指定される。M
F−0は入力x1−PLに,MF−1は入力x1−PM
にそれぞれ対応するように,メンバーシップ関数の番号
0〜Nと,入力変数とラベルとの対とが繰返されている
【0188】図24(A) ,(B) に設定されたメ
ンバーシップ関数の例が示されている。このように任意
の形状のメンバーシップ関数を設定することができる。
【0189】メンバーシップ関数値(適合度)は,入力
データを下位8ビットアドレス,メンバーシップ関数番
号を上位アドレスとしてメモリをアクセスすることによ
り,メモリから読出される。
【0190】(6−2) MF処理2 MF処理2は図25から図27に示されている。
【0191】メンバーシップ関数の基本形は図25に示
すように台形である。このメンバーシップ関数は,4つ
の変曲点の座標と左,右の2つの傾きによって特定され
る。両端の変曲点のグレードは0,中央の2つの変曲点
のグレードは1に設定されるので,これらの変曲点はそ
の入力変数(横軸)の座標xj0,xj1,xj2およ
びxj3を与えることにより特定できる。左右の傾きは
gj0,gj1で与えられる。ここでjはメンバーシッ
プ関数の番号である。xj1=xj2であればメンバー
シップ関数は三角形となる。
【0192】図26(A) はメモリ(ROM)の全体
を,図26(B)は1つのメンバーシップ関数を規定す
るエリアをそれぞれ示している。上述したMF処理1に
比べてメモリのエリアがかなり少なくてすむ。
【0193】図27は,上記のメンバーシップ関数に対
する入力データの適合度を演算する処理手順を示してい
る。入力データをxiで表わす。
【0194】xi<xj0およびxi>xj3の領域で
は適合度は0となる(ステップ112,113 ,11
7 ,119 )。
【0195】xj1≦xi≦xj2の領域では適合度は
1となる(ステップ111 ,115 ,116 )。
【0196】xj0≦xi<xj1の領域では,適合度
は傾きgj0を用いて,gj0(xi−xj0)により
算出される(ステップ111 ,112 ,114 )
【0197】xj2<xi≦xj3の領域では,適合度
は傾きgj1を用いて,gj1(xj3−xi)で与え
られる(ステップ115 ,117 ,118 )。
【0198】(6−3) MF処理3 MF処理3の詳細が図28から図30に示されている。
【0199】MF処理3ではメンバーシップ関数は三角
形が基本形である。三角形は,頂点の座標と両斜辺の傾
き,または頂点の座標と底辺の両端の座標によって定義
可能である。頂点のグレード(メンバーシップ関数の値
)を常に1とすれば,頂点の座標としては変数xのみを
与えればよい。三角形状のメンバーシップ関数のグレー
ドが零でない範囲(すなわち底辺の長さ範囲)をメンバ
ーシップ関数の定義域という。
【0200】この実施例においては,メンバーシップ関
数は頂点の座標と左右の斜辺の傾きによって定義される
ものとする。入力変数x1についての7種類のメンバー
シップ関数の作成について説明する。
【0201】図28に示すように,入力変数x1につい
ての7種類のメンバーシップ関数ラベルMF11〜MF
17と,それらのメンバーシップ関数の頂点のx座標x
11〜x17が与えられる。頂点のグレードはすべて1
である。
【0202】この実施例では,各メンバーシップ関数の
定義域は左右に隣接するメンバーシップ関数の頂点のx
座標間の範囲と定められている。左端または右端のメン
バーシップ関数については,右側または左側に隣接する
メンバーシップ関数の頂点のx座標と変数xのレンジの
左端または右端との間が定義域となる。
【0203】変数xのレンジが頂点の座標x12〜x1
6によって6つの区間T11〜T16に分割される。各
区間においては左右に隣接するメンバーシップ関数が重
複して定義される。そして,左右のメンバーシップ関数
は区間の中心に関して左右対称である。したがって,各
区間において1つの傾きg11〜g16のみを定めれば
よいことになる。この実施例では正の傾きが定められる
。各区間において,右側のメンバーシップ関数の左側の
斜辺の傾きはそれぞれg11〜g16のいずれかであり
,左側のメンバーシップ関数の右側の斜辺の傾きはそれ
ぞれ−g11〜−g16のいずれかとなる。
【0204】頂点座標データx11〜x17を用いて,
各区間T11〜T16における傾きg11〜g16が算
出される。傾きg1iは,g1i=1/[x1(i+1
)−x1i]として求められる。ここで分子の1はグレ
ードを表わしている。もし8ビットで表現されるならば
上記の式の分子には1に代えて256 が用いられよう
【0205】以上のようにして,入力変数x1について
の7種類のメンバーシップ関数を定義するデータがすべ
て作成されたことになる。このメンバーシップ関数デー
タが図29に示されている。この図から分るように,1
つのメンバーシップ関数について,それぞれ頂点の座標
と,左右両斜辺についての2つの傾きと,要すれば底辺
の両端の座標とを設定する上記のMF処理2の場合に比
べて,データ量がはるかに少くなっていることが容易に
理解できよう。
【0206】上記の処理はすべての入力変数について繰
返して行われる。
【0207】次に図30を参照して適合度演算処理につ
いて説明する。
【0208】入力データがどの区間に属するかが判定さ
れる(ステップ121)。たとえば図29において入力
データx1(入力データもx1で表現する)が与えられ
たとすると,この入力データx1はx14よりも小さく
かつx13よりも小さいので区間T13に属すると判定
される。このようにして判定された区間は入力変数x1
に関して所定のバッファに記憶される。
【0209】続いて,判定された区間T13について設
定されている傾きデータg13を用いて右側のメンバー
シップ関数MF14についての適合度aが求められる。 この適合度は,a=(x1−x13)によって算出され
る。左側のメンバーシップ関数MF13についての適合
度は1−aとして算出される(図28参照)。8ビット
表現の場合には256 −aとなろう(ステップ122
 )。
【0210】このようにして,算出されたメンバーシッ
プ関数MF14,MF13についての入力データx1の
適合度はバッファにセットされる。
【0211】このMF処理3は,出願人が「メンバーシ
ップ関数データ作成方法および装置ならびに適合度演算
方法および装置」として先に出願したものである(平成
3年5月10日出願,整理番号 90193)。
【0212】ルール処理,MF処理に応じてルールやメ
ンバーシップ関数を表わすデータの再配列,並びかえの
処理が必要であり,これが上述したコンパイル処理で行
なわれることがよく理解できよう。
【図面の簡単な説明】
【図1】ファジィ開発システムの全体構成を示すブロッ
ク図である。
【図2】ファジィ開発システムにおける処理の流れを示
すフロー・チャートである。
【図3】要求仕様入力時における表示例を示す。
【図4】推論エンジン・ライブラリの内容を示す。
【図5】(A) および(B) はそれぞれ推論エンジ
ンを選定する処理に用いられるメンバーシップ関数の例
を示す。
【図6】推論エンジン性能データ・ベースの内容を示す
【図7】ルールの例を示す。
【図8】ルール処理1におけるルール・メモリを示す。
【図9】(A) ,(B) ,(C) および(D) 
はそれぞれワーク・エリアに設けられた各エリアを示す
【図10】ルール処理1におけるファジィ推論演算を示
すフロー・チャートである。
【図11】ルール処理2によって再配列されたルールを
示す。
【図12】ルールのツリー構造を示す。
【図13】ルール・メモリを示す。
【図14】適合度エリアを示す。
【図15】ルール処理2におけるファジィ推論演算を示
すフロー・チャートである。
【図16】ルール処理3におけるルール・メモリを示す
【図17】適合度エリアを示す。
【図18】ルール処理3におけるファジィ推論演算を示
すフロー・チャートである。
【図19】ルール処理4におけるルールの例を示す。
【図20】ワーク・エリアの内容を示す。
【図21】ルール処理4におけるファジィ推論演算を示
すフロー・チャートである。
【図22】ルール処理4における処理の流れを示す。
【図23】MF処理1におけるMFメモリを示す。
【図24】(A) および(B) はメンバーシップ関
数の例を示す。
【図25】MF処理2におけるメンバーシップ関数を示
す。
【図26】(A) および(B) はMFメモリの内容
を示す。
【図27】MF処理2における適合度演算処理を示すフ
ロー・チャートである。
【図28】MF処理3におけるメンバーシップ関数を示
す。
【図29】MFメモリの内容を示す。
【図30】MF処理における適合度演算処理を示すフロ
ー・チャートである。
【符号の説明】
16  ユーザ・インタフェイス 17  推論エンジン選定部 18  シミュレーション実行演算部 21  推論エンジン選定知識データ・ベース22  
推論エンジン性能データ・ベース23  推論エンジン
・ライブラリ 24  推論エンジン・コンパイル部 25  知識データ・コンパイル部

Claims (48)

    【特許請求の範囲】
  1. 【請求項1】  推論エンジンに関してユーザが要求す
    る仕様に関するデータを入力するための第1の入力手段
    ,ユーザが実現しようとするファジィ推論のための知識
    に関するデータを入力するための第2の入力手段,複数
    種類の推論エンジン・モジュールをあらかじめ格納した
    推論エンジン・ライブラリ,ならびに上記第2の入力手
    段によって入力された知識にしたがうファジィ推論に適
    しかつ上記第1の入力手段によって入力された仕様に適
    合する推論エンジン・モジュールを,上記推論エンジン
    ・ライブラリに格納されている複数種類の推論エンジン
    ・モジュールの中から選択する選定手段,を備えたファ
    ジィ開発システム。
  2. 【請求項2】  上記選定手段によって選択された推論
    エンジン・モジュールを上記第2の入力手段によって入
    力された知識に適するように,上記第2の入力手段によ
    って入力された知識を上記選定手段によって選択された
    推論エンジン・モジュールに適するようにそれぞれ加工
    して出力する出力手段をさらに備えている請求項1に記
    載のファジィ開発システム。
  3. 【請求項3】  上記選定手段が,上記第1の入力手段
    によって入力された要求仕様を特徴づけるパラメータと
    上記第2の入力手段によって入力された知識を特徴づけ
    るパラメータとを用いて,所定のルールにしたがうファ
    ジィ推論演算を行い,その推論演算結果に応じて適切な
    推論エンジン・モジュールを選択するものである請求項
    1に記載のファジィ開発システム。
  4. 【請求項4】  上記第1の入力手段によって入力され
    る要求仕様に関するデータが,ファジィ推論演算のため
    に使用可能なメモリのワーク・エリアの容量,推論エン
    ジン・モジュールを格納するための利用可能なメモリ容
    量,推論エンジン・モジュールに要求される演算速度,
    ファジィ推論において希望する入力データに関する処理
    の順序およびルールの前件部に設定するメンバーシップ
    関数の形状の自由度のうちの少なくとも一項目に関する
    データである請求項1に記載のファジィ開発システム。
  5. 【請求項5】  上記第1の入力手段によって入力され
    る要求仕様に関するデータがさらに,使用を希望するC
    PUの型式とその動作クロック周波数に関するデータを
    含んでいる請求項4に記載のファジィ開発システム。
  6. 【請求項6】  上記要求仕様に関するデータが,上記
    ワーク・エリアの容量,メモリ容量,演算速度,処理順
    序および自由度についての重要度または優先順位を含ん
    でいる請求項4に記載のファジィ開発システム。
  7. 【請求項7】  上記の各推論エンジン・モジュールが
    ,設定された複数のルールの処理方法を記述したルール
    処理モジュール,および設定されたメンバーシップ関数
    の記述方法とメンバーシップ関数に対する入力データの
    適合度を算出する演算方法とを含むメンバーシップ関数
    処理モジュールから構成されている請求項1に記載のフ
    ァジィ開発システム。
  8. 【請求項8】  上記推論エンジン・ライブラリに,設
    定された複数のルールの処理方法を記述した複数のルー
    ル処理モジュール,および設定されたメンバーシップ関
    数の記述方法とメンバーシップ関数に対する入力データ
    の適合度を算出する演算方法とを含む複数のメンバーシ
    ップ関数処理モジュールがあらかじめ格納されており,
    各推論エンジン・モジュールは,ルール処理モジュール
    とメンバーシップ関数モジュールとの組合せにより表現
    される請求項1に記載のファジィ開発システム。
  9. 【請求項9】  上記第2の入力によって入力された知
    識にしたがってファジィ推論のシミュレーションを実行
    する手段を備えている請求項1に記載のファジィ開発シ
    ステム。
  10. 【請求項10】  上記推論エンジン・ライブラリに格
    納されている推論エンジン・モジュールごとに,推論エ
    ンジンの所定の項目についての性能を算出するための演
    算法をあらかじめ格納した推論エンジン性能データ・ベ
    ース,および上記選定手段によって選択された推論エン
    ジン・モジュールについて,その推論エンジンの特徴パ
    ラメータおよび上記第2の入力手段によって入力された
    知識の特徴パラメータを,上記推論エンジン性能データ
    ・ベースに格納されている対応する演算法にあてはめる
    ことにより性能を算出する性能演算手段,をさらに備え
    ている請求項1に記載のファジィ開発システム。
  11. 【請求項11】  推論エンジンの性能に関する上記所
    定の項目が,ファジィ推論実行のために必要なメモリの
    ワーク・エリア,ファジィ推論エンジンを格納するのに
    必要なメモリ容量およびファジィ推論の演算速度のうち
    の少なくとも一項目である請求項10に記載のファジィ
    開発システム。
  12. 【請求項12】  上記性能演算手段により算出された
    性能を表示する表示手段をさらに備えている請求項10
    に記載のファジィ開発システム。
  13. 【請求項13】  上記選定手段によって複数の推論エ
    ンジン・モジュールが選択され,選択された複数の推論
    エンジン・モジュールの性能が上記性能演算手段によっ
    て算出され,複数の推論エンジン・モジュールについて
    算出された性能が上記表示手段に表示される,請求項1
    2に記載のファジィ開発システム。
  14. 【請求項14】  上記表示手段に性能が表示された複
    数の推論エンジン・モジュールのいずれか一つをユーザ
    が選択するための第3の入力手段をさらに備えている請
    求項13に記載のファジィ開発システム。
  15. 【請求項15】  上記表示手段に性能が表示された推
    論エンジン・モジュールの可否を入力するための第4の
    入力手段をさらに備えている請求項12に記載のファジ
    ィ開発システム。
  16. 【請求項16】  上記第4の入力手段によって推論エ
    ンジン・モジュールの拒否が入力されたときに,上記第
    1の入力手段による仕様データの再入力または上記第2
    の入力手段による知識データの再入力を許可する制御手
    段をさらに備えている請求項15に記載のファジィ開発
    システム。
  17. 【請求項17】  上記ルール処理モジュールのうちの
    一が,入力されたルール・データを入力の順序にしたが
    ってルール・メモリに記憶し,ルール・メモリに記憶さ
    れているルール・データの順序にしたがって推論演算を
    実行するようにプログラムされているものである,請求
    項8に記載のファジィ開発システム。
  18. 【請求項18】  上記ルール処理モジュールのうちの
    一が,入力されたルールの記述の中から共通のサブルー
    ルを抽出し,記述されている回数が多い順序にサブルー
    ルを並び変えてルール・メモリに記憶し,ルール・メモ
    リに記憶されているサブルールの順序にしたがって推論
    演算を実行するようにプログラムされているものである
    ,請求項8に記載のファジィ開発システム。
  19. 【請求項19】  上記ルール処理モジュールのうちの
    一が,設定されたすべての前件部メンバーシップ関数に
    対する与えられたデータの適合度を演算してメモリに記
    憶し,各ルールの処理においてメモリの対応する適合度
    を参照するようにプログラムされているものである,請
    求項8に記載のファジィ開発システム。
  20. 【請求項20】  上記ルール処理モジュールのうちの
    一が,入力データが与えられた順番にしたがって,入力
    データごとに,その入力データに関連するルールの処理
    を行うようにプログラムされているものである,請求項
    8に記載のファジィ開発システム。
  21. 【請求項21】  上記メンバーシップ関数モジュール
    のうちの一が,メンバーシップ関数ごとに,メンバーシ
    ップ関数値をメンバーシップ関数メモリに記憶しておき
    ,与えられた入力データに対応するメンバーシップ関数
    値を上記メモリから読出して適合度として出力するよう
    にプログラムされているものである,請求項8に記載の
    ファジィ開発システム。
  22. 【請求項22】  上記メンバーシップ関数モジュール
    のうちの一が,メンバーシップ関数ごとに,台形を基本
    形とするメンバーシップ関数を表わすデータとして変曲
    点の座標と立上りおよび立下りの傾きとをメンバーシッ
    プ関数メモリに記憶しておき,これらのデータを用いて
    ,与えられた入力データに対する適合度を求めるように
    プログラムされているものである,請求項8に記載のフ
    ァジィ開発システム。
  23. 【請求項23】  上記メンバーシップ関数モジュール
    のうちの一が,一入力変数についての複数の三角形状の
    メンバーシップ関数を,隣接する2つのメンバーシップ
    関数が相互に重複しかつこれらの重複区間において対称
    となるように設定し,各メンバーシップ関数の頂点の座
    標と左右いずれか一方の傾きとをメンバーシップ関数メ
    モリに記憶しておき,これらのデータを用いて,与えら
    れた入力データに対する適合度を求めるようにプログラ
    ムされているものである,請求項8に記載のファジィ開
    発システム。
  24. 【請求項24】  複数種類の推論エンジン・モジュー
    ルをあらかじめ推論エンジン・ライブラリに格納してお
    き,推論エンジンに関してユーザが要求する仕様に関す
    るデータを入力させ,ユーザが実現しようとするファジ
    ィ推論のための知識に関するデータを入力させ,入力さ
    れた知識にしたがうファジィ推論に適しかつ入力された
    仕様に適合する推論エンジン・モジュールを,上記推論
    エンジン・ライブラリに格納されている複数種類の推論
    エンジン・モジュールの中から選択する,ファジィ開発
    システムの動作方法。
  25. 【請求項25】  選択された推論エンジン・モジュー
    ルを入力された知識に適するように,入力された知識を
    選択された推論エンジン・モジュールに適するようにそ
    れぞれ加工して出力する請求項24に記載のファジィ開
    発システムの動作方法。
  26. 【請求項26】  入力された要求仕様を特徴づけるパ
    ラメータと入力された知識を特徴づけるパラメータとを
    用いて,所定のルールにしたがうファジィ推論演算を行
    い,その推論演算結果に応じて適切な推論エンジン・モ
    ジュールを選択する請求項24に記載のファジィ開発シ
    ステムの動作方法。
  27. 【請求項27】  上記要求仕様に関するデータが,フ
    ァジィ推論演算のために使用可能なメモリのワーク・エ
    リアの容量,推論エンジン・モジュールを格納するため
    の利用可能なメモリ容量,推論エンジン・モジュールに
    要求される演算速度,ファジィ推論において希望する入
    力データに関する処理の順序およびルールの前件部に設
    定するメンバーシップ関数の形状の自由度のうちの少な
    くとも一項目に関するデータである請求項24に記載の
    ファジィ開発システムの動作方法。
  28. 【請求項28】  要求仕様に関するデータがさらに,
    使用を希望するCPUの型式とその動作クロック周波数
    に関するデータを含んでいる請求項27に記載のファジ
    ィ開発システムの動作方法。
  29. 【請求項29】  上記要求仕様に関するデータが,上
    記ワーク・エリアの容量,メモリ容量,演算速度,処理
    順序および自由度についての重要度または優先順位を含
    んでいる請求項27に記載のファジィ開発システムの動
    作方法。
  30. 【請求項30】  上記の各推論エンジン・モジュール
    を,設定された複数のルールの処理方法を記述したルー
    ル処理モジュール,および設定されたメンバーシップ関
    数の記述方法とメンバーシップ関数に対する入力データ
    の適合度を算出する演算方法とを含むメンバーシップ関
    数処理モジュールから構成する請求項24に記載のファ
    ジィ開発システムの動作方法。
  31. 【請求項31】  上記推論エンジン・ライブラリに,
    設定された複数のルールの処理方法を記述した複数のル
    ール処理モジュール,および設定されたメンバーシップ
    関数の記述方法とメンバーシップ関数に対する入力デー
    タの適合度を算出する演算方法とを含む複数のメンバー
    シップ関数処理モジュールをあらかじめ格納しておき,
    各推論エンジン・モジュールを,ルール処理モジュール
    とメンバーシップ関数モジュールとの組合せにより表現
    する請求項24に記載のファジィ開発システムの動作方
    法。
  32. 【請求項32】  入力された知識にしたがってファジ
    ィ推論のシミュレーションを実行し,このシミュレーシ
    ョン結果に応じて知識の可否を判定する請求項24に記
    載のファジィ開発システムの動作方法。
  33. 【請求項33】  シミュレーションの後,知識を修正
    し,再度シミュレーションを実行する請求項32に記載
    のファジィ開発システムの動作方法。
  34. 【請求項34】  上記推論エンジン・ライブラリに格
    納されている推論エンジン・モジュールごとに,推論エ
    ンジンの所定の項目についての性能を算出するための演
    算法をあらかじめ推論エンジン性能データ・ベースとし
    て格納しておき,選択した推論エンジン・モジュールに
    ついて,その推論エンジンの特徴パラメータおよび入力
    された知識の特徴パラメータを,上記推論エンジン性能
    データ・ベースの対応する演算法にあてはめることによ
    り性能を算出する,請求項24に記載のファジィ開発シ
    ステムの動作方法。
  35. 【請求項35】  推論エンジンの性能に関する上記所
    定の項目が,ファジィ推論実行のために必要なメモリの
    ワーク・エリア,ファジィ推論エンジンを格納するのに
    必要なメモリ容量およびファジィ推論の演算速度のうち
    の少なくとも一項目である請求項34に記載のファジィ
    開発システムの動作方法。
  36. 【請求項36】  算出した性能を表示装置に表示する
    請求項34に記載のファジィ開発システムの動作方法。
  37. 【請求項37】  複数の推論エンジン・モジュールを
    選択し,選択した複数の推論エンジン・モジュールの性
    能を算出し,複数の推論エンジン・モジュールについて
    算出した性能を上記表示装置に表示する,請求項36に
    記載のファジィ開発システムの動作方法。
  38. 【請求項38】  上記表示装置に性能が表示された複
    数の推論エンジン・モジュールのいずれか一つをユーザ
    が選択する請求項37に記載のファジィ開発システムの
    動作方法。
  39. 【請求項39】  上記表示装置に性能が表示された推
    論エンジン・モジュールの可否をユーザが入力する請求
    項37に記載のファジィ開発システムの動作方法。
  40. 【請求項40】  上記表示装置に性能が表示された推
    論エンジン・モジュールの拒否が入力されたときに,仕
    様データの再入力または知識データの再入力を許可する
    請求項39に記載のファジィ開発システムの動作方法。
  41. 【請求項41】  推論エンジンに関してユーザが要求
    する少なくとも一つの仕様項目に関するデータを入力す
    るための第1の入力手段,ユーザが実現しようとするフ
    ァジィ推論のための知識に関するデータを入力するため
    の第2の入力手段,上記第2の入力手段によって入力さ
    れた知識を特徴づける少なくとも一つのパラメータに関
    するデータを作成する手段,ならびに仕様項目と知識を
    特徴づけるパラメータに関する命題を前件部に含み,複
    数種類の推論エンジンに関する命題を後件部に含むルー
    ルにしたがって,上記第1の入力手段から入力されたデ
    ータおよび上記作成手段によって作成されたデータを用
    いてファジィ推論演算を実行し,上記第2の入力手段に
    よって入力された知識にしたがうファジィ推論に適しか
    つ上記第1の入力手段によって入力された仕様に適合す
    る推論エンジンを決定する推論エンジン選定手段,を備
    えたファジィ開発システム。
  42. 【請求項42】  上記仕様項目が,ファジィ推論演算
    のために使用可能なメモリのワーク・エリアの容量,推
    論エンジン・モジュールを格納するために利用可能なメ
    モリ容量,推論エンジン・モジュールに要求される演算
    速度,ファジィ推論において希望する入力データに関す
    る処理の順序およびルールの前件部に設定するメンバー
    シップ関数の形状の自由度のうちの少なくとも一項目で
    ある請求項41に記載のファジィ開発システム。
  43. 【請求項43】  上記の知識を特徴づけるパラメータ
    が,ルールの数,入力変数の種類数,出力変数の種類数
    ,および前件部における入力変数とメンバーシップ関数
    との組合せの数のうちの少なくとも一項目である請求項
    41に記載のファジィ開発システム。
  44. 【請求項44】  上記の各推論エンジン・モジュール
    が,設定された複数のルールの処理方法を記述したルー
    ル処理モジュール,および設定されたメンバーシップ関
    数の記述方法とメンバーシップ関数に対する入力データ
    の適合度を算出する演算方法とを含むメンバーシップ関
    数処理モジュールから構成されており,上記ルールの後
    件部が複数のルール処理モジュールと複数のメンバーシ
    ップ関数処理モジュールに関する命題を含んでいる請求
    項41に記載のファジィ開発システム。
  45. 【請求項45】  推論エンジンに関してユーザが要求
    する少なくとも一つの仕様項目に関するデータを入力さ
    せ,ユーザが実現しようとするファジィ推論のための知
    識に関するデータを入力させ,入力された知識を特徴づ
    ける少なくとも一つのパラメータに関するデータを作成
    し,仕様項目と知識を特徴づけるパラメータに関する命
    題を前件部に含み,複数種類の推論エンジンに関する命
    題を後件部に含むルールにしたがって,入力された仕様
    項目に関するデータおよび作成された特徴パラメータに
    関するデータを用いてファジィ推論演算を実行し,入力
    された知識にしたがうファジィ推論に適しかつ入力され
    た仕様に適合する推論エンジンを決定する,ファジィ開
    発システムの動作方法。
  46. 【請求項46】  上記仕様項目が,ファジィ推論演算
    のために使用可能なメモリのワーク・エリアの容量,推
    論エンジン・モジュールを格納するために利用可能なメ
    モリ容量,推論エンジン・モジュールに要求される演算
    速度,ファジィ推論において希望する入力データに関す
    る処理の順序およびルールの前件部に設定するメンバー
    シップ関数の形状の自由度のうちの少なくとも一項目で
    ある請求項45に記載のファジィ開発システムの動作方
    法。
  47. 【請求項47】  上記の知識を特徴づけるパラメータ
    が,ルールの数,入力変数の種類数,出力変数の種類数
    ,および前件部における入力変数とメンバーシップ関数
    との組合せの数のうちの少なくとも一項目である請求項
    45に記載のファジィ開発システムの動作方法。
  48. 【請求項48】  上記の各推論エンジン・モジュール
    を,設定された複数のルールの処理方法を記述したルー
    ル処理モジュール,および設定されたメンバーシップ関
    数の記述方法とメンバーシップ関数に対する入力データ
    の適合度を算出する演算方法とを含むメンバーシップ関
    数処理モジュールから構成しておき,上記ルールの後件
    部に複数のルール処理モジュールと複数のメンバーシッ
    プ関数処理モジュールに関する命題を含ませておく請求
    項45に記載のファジィ開発システムの動作方法。
JP3142648A 1991-05-20 1991-05-20 推論部開発システムおよびその動作方法 Pending JPH04343138A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP3142648A JPH04343138A (ja) 1991-05-20 1991-05-20 推論部開発システムおよびその動作方法
KR1019920008111A KR920022120A (ko) 1991-05-20 1992-05-14 퍼지 개발 시스템 및 그 동작 방법
EP19920108538 EP0517036A3 (en) 1991-05-20 1992-05-20 A development supporting system for fuzzy inference device and the scheme by which this system operates
US07/886,007 US5495558A (en) 1991-05-20 1992-05-20 Development supporting system and method for fuzzy inference devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3142648A JPH04343138A (ja) 1991-05-20 1991-05-20 推論部開発システムおよびその動作方法

Publications (1)

Publication Number Publication Date
JPH04343138A true JPH04343138A (ja) 1992-11-30

Family

ID=15320247

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3142648A Pending JPH04343138A (ja) 1991-05-20 1991-05-20 推論部開発システムおよびその動作方法

Country Status (4)

Country Link
US (1) US5495558A (ja)
EP (1) EP0517036A3 (ja)
JP (1) JPH04343138A (ja)
KR (1) KR920022120A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021100546A1 (ja) * 2019-11-20 2021-05-27 富士フイルム株式会社 人工知能処理システム、アップロード管理装置、方法、プログラム

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0636967A1 (en) * 1993-07-29 1995-02-01 STMicroelectronics S.r.l. Method and apparatus for storing membership functions
US5841948A (en) * 1993-10-06 1998-11-24 Motorola, Inc. Defuzzifying method in fuzzy inference system
EP0675431A1 (en) * 1994-03-31 1995-10-04 Co.Ri.M.Me. Consorzio Per La Ricerca Sulla Microelettronica Nel Mezzogiorno Method for memorizing membership functions in a fuzzy logic processor
EP0757812A1 (de) * 1994-04-29 1997-02-12 Siemens Aktiengesellschaft Verfahren zur vorbereitung und durchführung der fuzzifizierung eines an einem eingang eines fuzzy-prozessors anliegenden digitalen eingangssignales
DE69432349D1 (de) * 1994-05-23 2003-04-30 Cons Ric Microelettronica Verfahren zur parallelen Bearbeitung von Fuzzy-Logik-Inferenzregeln und übereinstimmende Schaltkreisarchitektur
US5758028A (en) * 1995-09-01 1998-05-26 Lockheed Martin Aerospace Corporation Fuzzy logic control for computer image generator load management
NZ299709A (en) * 1996-11-07 1999-01-28 Enquire Within Developments Lt Computerised construction and analysis of repertory grid psychology tool
US6272476B1 (en) * 1999-04-14 2001-08-07 Winbond Electronics Corp Programmable and expandable fuzzy processor for pattern recognition
JP4651790B2 (ja) * 2000-08-29 2011-03-16 株式会社ガイア・システム・ソリューション データ処理装置
US6654763B2 (en) 2001-06-14 2003-11-25 International Business Machines Corporation Selecting a function for use in detecting an exception in multidimensional data
US7668824B2 (en) * 2004-03-01 2010-02-23 Denso Corporation Interface device, inferring system, and visual expression method
US10962623B1 (en) 2017-05-17 2021-03-30 Heathkit Company, Inc. Accurate and model-based measurement and management systems and methods
CN109657294B (zh) * 2018-11-29 2023-04-21 中国航空工业集团公司沈阳飞机设计研究所 基于特征参数的试飞数据自动化分析方法及系统

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5251285A (en) * 1988-03-25 1993-10-05 Hitachi, Ltd. Method and system for process control with complex inference mechanism using qualitative and quantitative reasoning
DE68928612T2 (de) * 1988-05-20 1998-09-17 Matsushita Electric Ind Co Ltd Verfahren zur bestimmung der inferenzregel sowie inferenzmotor
US4918620A (en) * 1988-06-16 1990-04-17 General Electric Company Expert system method and architecture
US5175795A (en) * 1988-07-29 1992-12-29 Hitachi, Ltd. Hybridized frame inference and fuzzy reasoning system and method
US5239620A (en) * 1988-08-18 1993-08-24 Omron Tateisi Electronics Co. Rule generating and verifying apparatus for fuzzy control
US5243687A (en) * 1988-09-20 1993-09-07 Omron Tateisi Electronics Co. Fuzzy computer system having a fuzzy inference processing circuit for controlling and adapting output signal to the set membership signal
US5165011A (en) * 1988-09-22 1992-11-17 Omron Tateisi Electronics Co. System for switching a rule group
DE68928609T2 (de) * 1988-12-14 1998-11-19 Omron Tateisi Electronics Co Fuzzy-Gerät
EP0390563A3 (en) * 1989-03-31 1992-12-02 Matsushita Electric Industrial Co., Ltd. Fuzzy multi-stage inference apparatus
US5058033A (en) * 1989-08-18 1991-10-15 General Electric Company Real-time system for reasoning with uncertainty
US5099412A (en) * 1989-09-29 1992-03-24 Honeywell, Inc Automatic control of a discrete system with redundancy management and prioritized conflict resolution
JP2522415B2 (ja) * 1989-10-24 1996-08-07 三菱電機株式会社 ファジイ制御機能付プログラマブルコントロ―ラ、そのモニタシステム、および、ファジイ制御機能付プログラマブルコントロ―ラの制御方法
JPH04211829A (ja) * 1990-03-27 1992-08-03 Ricoh Co Ltd 複合型エキスパートシステム
JP2874032B2 (ja) * 1990-11-27 1999-03-24 富士通株式会社 ソフトウェア作業ツール

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021100546A1 (ja) * 2019-11-20 2021-05-27 富士フイルム株式会社 人工知能処理システム、アップロード管理装置、方法、プログラム

Also Published As

Publication number Publication date
US5495558A (en) 1996-02-27
EP0517036A2 (en) 1992-12-09
EP0517036A3 (en) 1993-08-25
KR920022120A (ko) 1992-12-19

Similar Documents

Publication Publication Date Title
Khan et al. A generative design technique for exploring shape variations
JPH04343138A (ja) 推論部開発システムおよびその動作方法
Chase Shapes and shape grammars: from mathematical model to computer implementation
US5943056A (en) Interference checking method
Granadeiro et al. A general indirect representation for optimization of generative design systems by genetic algorithms: Application to a shape grammar-based design system
WO1999028849A1 (en) Modeling system having constraint solvers
JP2006114055A (ja) 画像表示システム
Domingue et al. Viz: a framework for describing and implementing software visualization systems
JP4813639B2 (ja) カスタマイズした解析機能及びカスタマイズした図形機能を定義するためのフィーチャ型マクロ言語
Gero An overview of knowledge engineering and its relevance to CAAD
US5170349A (en) Text processing apparatus using modification relation analysis
CN115168601A (zh) 一种针对时序知识图谱的可视化分析系统和方法
Kralev et al. Visual analysis of actions performed with big graphs
JPH04335432A (ja) メンバーシップ関数データ作成方法および装置ならびに適合度演算方法および装置
Marin et al. A genetic algorithm for use in creative design processes
US6516307B1 (en) Next alternative generating apparatus using simulated annealing and method thereof
Reynolds Jr Commentary—The Silver Bullet
JP3323738B2 (ja) ボリューム・データ計算方法及び装置並びにボリューム・データ可視化方法及び装置
JP2902006B2 (ja) 情報提示装置
JPH0636043A (ja) 階層構造情報の表示装置
JP3137865B2 (ja) 仕様書作成方法
Svetel et al. Digital building model-toward an improved typology
JPH10289257A (ja) 3次元メッシュの修正方法,変形解析装置及び記録媒体
Stump Multi-Criteria Design Optimization Using Multi-Dimensional Data Visualization
Masud et al. A CAD-based layout planning procedure