JPH08314989A - プライム・コンパチブルによる有限状態機械の状態数最小化装置および方法 - Google Patents

プライム・コンパチブルによる有限状態機械の状態数最小化装置および方法

Info

Publication number
JPH08314989A
JPH08314989A JP7121859A JP12185995A JPH08314989A JP H08314989 A JPH08314989 A JP H08314989A JP 7121859 A JP7121859 A JP 7121859A JP 12185995 A JP12185995 A JP 12185995A JP H08314989 A JPH08314989 A JP H08314989A
Authority
JP
Japan
Prior art keywords
compatible
prime
state
subset
states
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.)
Granted
Application number
JP7121859A
Other languages
English (en)
Other versions
JP3302218B2 (ja
Inventor
Hiroyuki Higuchi
博之 樋口
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP12185995A priority Critical patent/JP3302218B2/ja
Publication of JPH08314989A publication Critical patent/JPH08314989A/ja
Application granted granted Critical
Publication of JP3302218B2 publication Critical patent/JP3302218B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 有限状態機械の状態集合の集合であるクラス
・セットどうしの包含性判定をすることなく、より効率
的にプライム・コンパチブルを計算して、状態数の最小
化を行うことを目的とする。 【構成】 演算処理装置12は、プログラム記憶装置1
4に格納されたプログラムを実行して、プライム・コン
パチブルの解集合をデータ記憶装置13内に生成し、状
態数の最小化を行った後に入出力装置11から出力す
る。マージャ・テーブル作成プログラム15は状態遷移
表からマージャ・テーブルを作成し、極大コンパチブル
生成プログラム16はマージャ・テーブルから極大コン
パチブルを生成する。シグネチャ生成プログラム17は
与えられた極大コンパチブルの部分集合であるシグネチ
ャを生成し、コンパチブル生成プログラム18はプライ
ム・コンパチブルの候補となる部分集合を生成する。被
支配コンパチブル排除プログラム19は、プライム・コ
ンパチブルの候補とシグネチャの包含関係を調べて、被
支配コンパチブルを排除する。部分集合どうしの包含関
係は容易に調べられるので、計算時間が短縮される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、論理回路の合成や言語
処理等に用いられる不完全指定有限状態機械の状態数を
最小化するための装置および方法に関する。
【0002】
【従来の技術】近年、集積回路技術の進歩に伴い、より
大規模なシステムが論理回路として実現されるようにな
ってきている。そのため、大規模な順序回路の合成技術
はますます重要性を増している。中でも、順序回路の仕
様として与えられる有限状態機械の状態数の最小化は最
も重要なステップのうちの1つである。有限状態機械の
状態数を最小化することにより、少ないフリップフロッ
プで順序回路を実現することが可能であり、また、実現
する順序回路の未使用状態が増える。これらの未使用状
態を指定するための論理素子を省略することにより、順
序回路の中の組合せ回路部分をより簡単化することが可
能となる。
【0003】有限状態機械(Finite State Machines :
FSM's:有限オートマトン、順序機械などとも呼ばれ
る)は、有限個の状態を持ち、その上での状態遷移の規
則が定義された計算機構のモデルである。有限状態機械
は、形式的には5項組(I,O,S,δ,λ)で定義さ
れる。ただし、I,O,Sは、それぞれ入力、出力およ
び状態の有限集合である。δ:I×S→Sは状態遷移関
数であり、λ:I×S→Oは出力関数を表す。状態遷移
関数δについては、各状態と入力記号の組に対して次の
状態が唯一に指定されているときには決定性有限状態機
械、複数指定されている場合があるときには非決定性有
限状態機械という。また入力と現状態の組すべてに対し
て、次状態と出力が指定されている有限状態機械を完全
指定有限状態機械という。また、少なくとも1つ以上の
入力と現状態の組に対して、次状態あるいは出力が指定
されていないような有限状態機械を不完全指定有限状態
機械という。
【0004】有限状態機械の状態数を最小化するという
問題は古くから様々な研究が行われているが、与えられ
る有限状態機械の記述が不完全な場合(不完全指定の場
合)には問題が複雑になる。従って状態数の多い有限状
態機械の場合には、現実的な計算時間では解が求まらな
いことが多い。そこでより高速な状態数最小化方法が必
要とされている。
【0005】不完全指定を含む有限状態機械の状態数を
最小化する従来の方法は、次の2つの論文に記述されて
いる。 (a)M. C. Paull and S. H. Unger.“Minimizing the
Number of States inIncompletely Specified Sequent
ial Switching Functions”. IRE Trans. onElectronic
Computers, 8:356-367, September 1959. (b)A. Grasselli and F. Luccio. “A Method for M
inimizing the Numberof Internal States in Incomple
tely Specified Sequential Networks”. IRETrans. on
Electronic Computers, 14(3):350-359, June 1965. また、有限状態機械の状態数最小化方法に関する先願に
ついては、次の2つがある。
【0006】(c)「有限状態機械のシンボリックカバ
ー最小化方法及び状態数割当方法」(特開平03−11
6279、特願平01−252357) (d)「不完全指定順序回路最小化方法」(特開平04
−158480、特願平02−284840) これらの先願のうち、(c)については完全指定の有限
状態機械のみを対象としており、不完全指定有限状態機
械を対象とする本発明とは直接関係がない。(d)は、
基本的に上述の2つの論文(a)、(b)の手法に基づ
いたものである。そこで、ここでは(a)および(b)
の手法を従来技術として、有限状態機械の具体例をあげ
て説明する。
【0007】従来より、有限状態機械の状態数を最小化
するために、与えられた状態のグループ化の候補に対応
するプライム・コンパチブルをすべて計算する方法が採
られている。そして、得られたプライム・コンパチブル
の中からすべての状態を含む最小閉包集合を求めること
により、状態数の最小化を行っている。
【0008】図18は、1つの有限状態機械の状態遷移
表を示している。有限状態機械は、通常、このような状
態遷移を表す情報により与えられる。図18において、
PS(Present State )は現在の状態を表し、各行の
A、B、C、D、E、Fは有限状態機械の複数の状態の
各々に対応する。また、各列のI1 、I2 はそれぞれ特
定の入力を表す。そして、状態遷移表の行と列の交差位
置(セル)には、その行に対応する現状態において、そ
の列に対応する入力が印加されたときに遷移する次の状
態NS(Next State)と出力zが“NS,z”のように
記されている。
【0009】例えば、現状態A、入力I1 のセルには
“E,0”が記されており、現状態Aにおいて入力I1
が入力されると次状態Eに遷移し、0が出力されること
を表す。状態遷移表中の“−”は、出力zの値が指定さ
れていないことを示している。このような値はドントケ
ア(don't care) 値と呼ばれ、それがどのような値でも
よいことを意味する。したがって、状態数が少なくなる
ように、その値を適当に決めることができる。一般に、
不完全指定有限状態機械では状態遷移表のセルにドント
ケア値が含まれ、完全指定有限状態機械ではすべてのセ
ルが完全に指定されていて、ドントケア値が含まれな
い。
【0010】さて、図18の現状態CおよびEを見る
と、入力I2 に対しては出力がともに0で同一であり、
入力I1 に対しては出力がそれぞれドントケア値および
1である。また、現状態CおよびEを1つの状態対
(C,E)として、対応する次状態の対を求めると、入
力I2 に対してはともにCで同一であり、入力I1 に対
しては(C,E)自身である。ここで、出力のドントケ
ア値はどのような値に決定してもよいから、状態CとE
は1つの状態にまとめることが可能である。この場合、
CとEを1つの状態にするには、状態Cの入力I1 に対
する出力のドントケア値を1に置き換えればよい。これ
らの状態C、Eのように、2つの状態を1つの状態にま
とめることができるとき、それらの状態はコンパチブル
(compatible:両立的)であるという。
【0011】次に状態AとBを考えると、これらは対応
する出力は同じだが、入力I1 に対して次状態が異な
り、かつ、次状態対が(A,B)自身でもない。したが
って、AとBがコンパチブルであるためには、対応する
次状態どうしがコンパチブルでなければならない。すな
わち、AとBがコンパチブルであるためには、EとFも
コンパチブルでなければならない。このとき状態対
(E,F)を(A,B)のインプライド・ペア(implie
d pair)という。一方、状態AとDを考えると、入力I
1 に対してそれぞれの出力が異なり、1つの状態にまと
めることができない。このように1つにまとめることが
できない2つの状態をインコンパチブル(incompatibl
e:非両立的)であるという。
【0012】さらに、2つ以上の状態の集合に対して
は、その集合内の任意の2つの状態の組がコンパチブル
のとき、その状態集合はコンパチブルであるといい、コ
ンパチブルでない状態集合はインコンパチブルであると
いう。以下、コンパチブルな状態集合のことを単にコン
パチブルと呼ぶ。
【0013】図19は、図18の任意の状態の組につい
てそれらがコンパチブルかどうかを調べるために用いら
れるマージャ・テーブル(merger table)を示してい
る。マージャ・テーブルは、有限状態機械の各状態を行
および列に割り当てた表で、表の各エントリには、対応
する状態対がコンパチブルでないときには×印、コンパ
チブルのときにはそのインプライド・ペアが記入され
る。ただし、対応するインプライド・ペアがなく、空集
合のときには記号 外1 が代わりに記入される。
【0014】
【外1】
【0015】マージャ・テーブルのエントリに記された
インプライド・ペアがインコンパチブルであれば、その
エントリの行と列に対応する状態対もインコンパチブル
となる。この場合には、そのエントリを×に書き直す必
要がある。インコンパチブルなインプライド・ペアを持
つエントリがなくなるまで、このような更新を繰り返し
行うことにより、マージャ・テーブルが簡約化される。
例えば、図19のマージャ・テーブルにおいては、状態
Dを行としBを列とするエントリは×であるため、状態
対(B,D)はインコンパチブルであることが分かる。
したがって、状態対(B,D)をインプライド・ペアと
して持つ状態対(D,F)もまたインコンパチブルであ
る。さらに、インコンパチブルな状態対(D,F)をイ
ンプライド・ペアとして持つ状態対(B,F)もまたイ
ンコンパチブルとなる。これらの更新を行った結果、マ
ージャ・テーブルは図20に示すようになる。
【0016】図20のマージャ・テーブルからコンパチ
ブルなすべての状態対が確認できる。さらに、例えば状
態対(A,B)、(A,C)、(B,C)はすべてコン
パチブルであるから、これらの状態から構成される集合
{A,B,C}はコンパチブルである。このようにし
て、互いにコンパチブルな状態をまとめることにより、
極大なコンパチブルを求めることができる。ここで、極
大なコンパチブルとは、他のいかなるコンパチブルにも
真に包含されることのないコンパチブルを意味する。図
20のマージャ・テーブルから極大なコンパチブルを求
めると、{A,B,C}、{A,C,F}、{C,D,
E}、{C,E,F}となる。コンパチブルの定義よ
り、極大コンパチブルの任意の部分集合もまたコンパチ
ブルであり、すべてのコンパチブルはある極大コンパチ
ブルの部分集合である。
【0017】状態対に対するインプライド・ペアの概念
と同様に、コンパチブルに対するインプライド・セット
(implied set )が定義できる。例えば、図18より、
コンパチブル{C,E,F}の入力I1 に対するインプ
ライド・セットは{C,D,E}、I2 に対するインプ
ライド・セットは{B,C}である。あるコンパチブル
について、次の2つの条件(1)、(2)を満足するイ
ンプライド・セットを要素とする集合のことを、そのコ
ンパチブルのクラス・セット(class set )と呼ぶ。
【0018】(1)そのコンパチブル自身に含まれな
い。 (2)他のインプライド・セットに含まれない。 例えば、コンパチブル{C,E,F}のクラス・セット
は{{C,D,E},{B,C}}である。
【0019】状態数最小化を行う際、コンパチブルは1
つの状態にまとめ得る状態集合の候補となる。例えば、
コンパチブル{C,E,F}を解に含めるということ
は、状態C、E、Fを1つの状態にまとめることを意味
する。このとき、このコンパチブルのクラス・セットに
含まれる各インプライド・セットについて、それを包含
するコンパチブルが少なくとも1つこの解に含まれてい
なければならないというのがクラス・セットの制約によ
る閉包性条件である。したがって、状態数の最小化と
は、与えられた有限状態機械の各状態を含むコンパチブ
ルが少なくとも1つ存在し、かつ、解に含められたコン
パチブルの閉包性条件をすべて満足する、要素数最小の
コンパチブルの集合を求めることである。
【0020】コンパチブルの集合の中から最小解を1つ
だけ求めればよい場合には、解の候補としてすべてのコ
ンパチブルは必ずしも必要ではない。例えば、コンパチ
ブル{C,F}は他のコンパチブル{A,C,F}に真
に包含され、図20よりそのクラス・セットは{{D,
E},{B,C}}であることが分かる。また、図18
よりコンパチブル{A,C,F}のクラス・セットもま
た{{D,E},{B,C}}である。つまり、コンパ
チブル{C,F}の閉包性条件は{A,C,F}のそれ
と等価である。したがって、{C,F}を含む最小解に
おいて、そのかわりに{A,C,F}を含めても解の最
小性は保証されるので、コンパチブル{C,F}を解の
候補から除く(exclude)ことができる。このとき、コン
パチブル{A,C,F}はコンパチブル{C,F}を支
配するという。一般に、コンパチブルcがコンパチブル
c′を支配する必要十分条件は、 (3)c⊃c′、 かつ、 (4)cのクラス・セット⊆c′のクラス・セット である。他のコンパチブルによって支配されないコンパ
チブルをプライム・コンパチブル(prime compatible)
という。
【0021】最大のコンパチブルの大きさをnとする
と、大きさnのコンパチブルは他のコンパチブルに真に
含まれることはないので、必ずプライム・コンパチブル
である。したがって、大きさnのコンパチブルをすべて
プライム・コンパチブルを要素とする集合に含める。そ
れと共に、それらのクラス・セットも求めておく。例え
ば、図18の有限状態機械の場合は最大コンパチブルの
大きさは3であり、それらのプライム・コンパチブルと
クラス・セットは、図21に示すようになる。
【0022】次に、大きさn−1のコンパチブルを順に
生成していき、今までに生成したプライム・コンパチブ
ルに支配されていなければ、それらをプライム・コンパ
チブルの集合に含める。このとき、大きさn−1のコン
パチブルは、大きさnのコンパチブルの部分集合として
生成されるか、大きさn−1の極大コンパチブルとして
生成されるかのいずれかである。プライム・コンパチブ
ルの集合に含めるものについてはクラス・セットを求め
ておく。大きさ2のプライム・コンパチブルとそれらの
クラス・セットは、図22に示すようになる。ここで、
プライム・コンパチブル{C,E}のクラス・セットは
φ(空集合)となる。クラス・セットがφの場合、その
プライム・コンパチブルの部分集合は必ずそのプライム
・コンパチブルに支配されるので、そのような部分集合
は以降のコンパチブルの生成過程において生成する必要
はない。
【0023】以下同様にして、プライム・コンパチブル
の大きさが1になるか、生成したすべてのプライム・コ
ンパチブルのクラス・セットがφになるまで処理を繰り
返す。その結果として、すべてのプライム・コンパチブ
ルが生成される。図23は、生成されたすべてのプライ
ム・コンパチブルとそれらのクラス・セットを示してい
る。
【0024】このようにして得られたプライム・コンパ
チブルの集合から、状態数が最小のプライム・コンパチ
ブルの集合を求めるには、分枝限定法などの探索法が用
いられる。分枝限定法とは、最適解の探索問題を部分問
題に分割し、最適解を与えないと結論できるものを除い
ていく手法である。このような探索の結果、状態数が最
小となる解が求められる。図18の有限状態機械のプラ
イム・コンパチブルの最小解は、{{A,B,C},
{C,D},{E,F}}である。ここで、コンパチブ
ル{A,B,C}を状態α、{C,D}をβ、{E,
F}をγとおくと、対応する有限状態機械の状態遷移表
は図24に示すようになる。図24においては、図18
と異なり、すべての次状態と出力が完全に指定されてい
る。
【0025】
【発明が解決しようとする課題】しかしながら、上述の
ような従来のプライム・コンパチブルの計算方法には次
のような問題がある。
【0026】他のコンパチブルに支配されないコンパチ
ブルであるプライム・コンパチブルを生成するために
は、条件(4)に示すように、任意の2つのコンパチブ
ルのクラス・セットどうしの包含関係を調べる必要があ
る。クラス・セットは、与えられた有限状態機械の状態
の集合を1つの要素とする集合である。したがって、一
般に、集合の集合であるクラス・セットどうしの包含関
係を調べることは容易ではなく、これを行うことは計算
時間の増大につながる。
【0027】本発明は、有限状態機械の状態集合の任意
の集合どうしの包含性判定をすることなく、より効率的
にプライム・コンパチブルを計算して、状態数の最小化
を行う装置および方法を提供することを目的とする。
【0028】
【課題を解決するための手段】図1は、本発明の状態数
最小化装置の原理図である。図1の状態数最小化装置
は、現在の状態から次の状態への状態遷移の規則が定め
られている有限状態機械がとり得る状態の数を最小化す
るために、該有限状態機械の状態のコンパチブル集合で
あって、他のコンパチブル集合によって支配されないプ
ライム・コンパチブル集合を求める装置であり、入力手
段1、コンパチブル生成手段2、コンパチブル排除手段
3、状態数最小化手段4、出力手段5、およびシグネチ
ャ計算手段6を備える。
【0029】入力手段1は、上記有限状態機械に関する
第1の状態遷移情報を入力する。コンパチブル生成手段
2は、第1の状態遷移情報から第1のプライム・コンパ
チブル集合を生成し、第1のプライム・コンパチブル集
合の第1の部分集合を、プライム・コンパチブル集合の
候補とする。
【0030】コンパチブル排除手段3は、第1の部分集
合が第1のプライム・コンパチブル集合の第2の部分集
合を含むか否かを調べ、第1の部分集合が第2の部分集
合を含む時、第1の部分集合をプライム・コンパチブル
集合の解から排除し、第1の部分集合が第2の部分集合
を含まない時、第1の部分集合を第2のプライム・コン
パチブル集合として上記プライム・コンパチブル集合の
解に含める。
【0031】状態数最小化手段4は、上記プライム・コ
ンパチブル集合の解をもとに状態数を削減し、出力手段
5は、削減された状態により表現される第2の状態遷移
情報を出力する。
【0032】シグネチャ計算手段6は、コンパチブル生
成手段2が生成する第1のプライム・コンパチブル集合
内の任意の状態対について、第1のプライム・コンパチ
ブルに含まれないインプライド・ペアを第1の状態遷移
情報から求め、そのインプライド・ペアを次の状態対と
して持つ状態対に含まれる状態から構成される第1の状
態集合を計算して生成し、第1の状態集合が第1のプラ
イム・コンパチブル集合から生成される第2の状態集合
に含まれないとき、その第1の状態集合を第1のプライ
ム・コンパチブル集合のシグネチャとする。
【0033】そして、コンパチブル排除手段3は、例え
ば上記シグネチャを第2の部分集合として用いて、第1
の部分集合を上記プライム・コンパチブル集合の解から
排除するかどうかを決める。
【0034】また、コンパチブル生成手段2は、第1の
状態遷移情報から第3のプライム・コンパチブル集合を
生成し、第3のプライム・コンパチブル集合が上記第1
の部分集合を含む時、コンパチブル排除手段3は、第1
の部分集合が第3のプライム・コンパチブル集合の第3
の部分集合を含むか否かを調べ、第1の部分集合が第3
の部分集合を含む時、その第1の部分集合を上記プライ
ム・コンパチブル集合の解から排除する。
【0035】図1の入力手段1および出力手段5は、実
施例の図2における入出力装置11に対応し、コンパチ
ブル生成手段2、コンパチブル排除手段3、状態数最小
化手段4、およびシグネチャ計算手段6は、演算処理装
置12およびデータ記憶装置13に対応する。
【0036】
【作用】コンパチブル生成手段2は、入力手段1が入力
した多数の状態を含む第1の状態遷移情報から第1およ
び第3のプライム・コンパチブル集合を生成する。これ
らのプライム・コンパチブル集合は、例えば第1の状態
遷移情報に含まれる複数の状態の極大コンパチブル集合
として生成される。また、第1のプライム・コンパチブ
ル集合の第1の部分集合を、新たなプライム・コンパチ
ブル集合の候補として解に含める。
【0037】コンパチブル排除手段3は、プライム・コ
ンパチブル集合の候補である第1の部分集合が第1のプ
ライム・コンパチブル集合の別の部分集合である第2の
部分集合を含むか否かを調べ、その結果により、第1の
部分集合をプライム・コンパチブル集合の解から排除す
るかどうかを決める。第1の部分集合が第2の部分集合
を含めば、これをプライム・コンパチブル集合の解から
排除し、第2の部分集合を含まなければ第2のプライム
・コンパチブル集合としてプライム・コンパチブル集合
の解に残す。
【0038】さらに、コンパチブル生成手段2が生成し
た第3のプライム・コンパチブル集合が第1の部分集合
を含む時、コンパチブル排除手段3は、第1の部分集合
が第3のプライム・コンパチブル集合の第3の部分集合
を含むか否かを調べて、第1の部分集合を残すかどうか
を決める。第1の部分集合が第3の部分集合を含めば、
これをプライム・コンパチブル集合の解から排除し、第
2の部分集合を含まなければプライム・コンパチブル集
合の解に残す。
【0039】このようにして、プライム・コンパチブル
集合の解が得られ、状態数最小化手段4は、それに含ま
れる状態数を分岐限定法等により削減し、第2の状態遷
移情報を生成することができる。また、出力手段5が出
力した第2の状態遷移情報から、対応する論理回路等を
合成することもできる。
【0040】この状態数最小化装置によれば、プライム
・コンパチブル集合の部分集合どうしの包含関係を調べ
ることにより、ある部分集合が新たなプライム・コンパ
チブル集合になり得るかどうかが容易に判定される。し
たがって、従来のようにクラス・セットどうしの包含関
係を調べる必要がなく、計算時間が短縮される。
【0041】また、シグネチャ計算手段6が生成するプ
ライム・コンパチブル集合のシグネチャを上記第2また
は第3の部分集合として用いれば、上記第1の部分集合
が他のコンパチブル集合に支配されるかどうかをほぼ正
確に判定することができる。コンパチブル排除手段3
は、第1の部分集合が第1または第3のプライム・コン
パチブル集合のシグネチャを含めば、これを被支配コン
パチブル集合と判断し、プライム・コンパチブル集合の
解から排除する。シグネチャを用いればプライム・コン
パチブル集合のみを残すことができる理由については、
実施例において詳しく説明する。
【0042】
【実施例】以下、図面を参照しながら、本発明の実施例
について詳細に説明する。図2は、実施例の状態数最小
化装置の構成図である。図2の状態数最小化装置は、入
出力装置11、演算処理装置12、データ記憶装置1
3、プログラム記憶装置14、およびこれらの各装置を
接続するバス20を備える計算機システムである。入出
力装置11は、例えばキーボードやマウス等の入力装置
とディスプレイ装置から成る計算機端末であり、有限状
態機械の状態遷移表の入力や最小化された状態の状態遷
移表の出力等を行う。演算処理装置12は、例えばCP
U(中央処理装置)であり、データ記憶装置13に記憶
されたデータを用いて、プログラム記憶装置14に格納
された各種プログラムを実行し、演算等を行う。データ
記憶装置13は、入力された状態遷移表や生成されるコ
ンパチブル等のデータを記憶する。
【0043】プログラム記憶装置14は、マージャ・テ
ーブル作成プログラム15、極大コンパチブル生成プロ
グラム16、シグネチャ生成プログラム17、コンパチ
ブル生成プログラム18、および被支配コンパチブル排
除プログラム19を格納している。マージャ・テーブル
作成プログラム15は、状態遷移表の情報から与えられ
た状態のマージャ・テーブルを作成するプログラムであ
り、極大コンパチブル生成プログラム16は、マージャ
・テーブルから極大コンパチブルを生成するプログラム
である。シグネチャ生成プログラム17は、与えられた
コンパチブルのシグネチャを生成するプログラムであ
り、コンパチブル生成プログラム18は、特定の条件の
下でコンパチブルの部分集合を生成するプログラムであ
る。
【0044】被支配コンパチブル排除プログラム19
は、シグネチャ生成プログラム17が生成するシグネチ
ャを用いて、コンパチブル生成プログラム18が生成す
るコンパチブルから他のコンパチブルに支配されるもの
を排除し、プライム・コンパチブルを算出するプログラ
ムである。
【0045】ここで、本発明で用いるシグネチャのより
厳密な定義を与えることにする。まず、最初に公知のク
ラス・セットの定義を述べる。 定義1:コンパチブルcに対するクラス・セットCS
(c)は以下の(i) 、(ii)、(iii) の条件を満足するす
べてのインプライド・セットdからなる集合である。
【0046】(i) |d|>1、かつ、(ii)d 外2
c、かつ、
【0047】
【外2】
【0048】(iii) ∀d′∈CS(c),d 外3
d′.(定義終り)
【0049】
【外3】
【0050】条件(i) において、|d|はdの大きさを
表す。このように定義されたCS(c)を用いると、コ
ンパチブル同士の支配関係の定義は次のようになる。
【0051】定義2:コンパチブルc、c′が以下の2
つの条件を満たすとき、cはc′を支配するという。 (5)c′⊂c、かつ、 (6)CS(c′)⊇CS(c).(定義終り) 次に、シグネチャの定義を与える前に、クラス・セット
の代わりにペアワイズ・クラス・セット(pair-wise cl
ass set )なるものを導入する。ペアワイズ・クラス・
セットは次のように定義される。
【0052】定義3:コンパチブルc内の任意の状態対
に対するインプライド・ペアp=(sa ,sb )のう
ち、 (7)sa ≠sb 、かつ、 (8){sa ,sb } 外4 c
【0053】
【外4】
【0054】なるインプライド・ペアの集合をペアワイ
ズ・クラス・セットと呼び、PWCS(c)と書く。こ
のとき、次の定理が成り立つ。
【0055】定理1:コンパチブルcがc′を支配する
とき、以下の(5)、(6′)を満足する。 (5)c′⊂c (6′)PWCS(c′)⊇PWCS(c).(定理終
り) 定理1は、定義1の(6)が成り立つために(6′)が
成り立つことが必要であることを意味している。定理1
の証明は以下の通りである。条件(5)のもとで、定義
1の(6)が成り立つときに(6′)が成り立つことを
証明すればよい。
【0056】仮に、(6′)に反して、p∈PWCS
(c)、かつ、p 外5 PWCS(
【0057】
【外5】
【0058】c′)なるインプライド・ペアpが存在し
たとすると、CS(c)にはpを含むインプライド・セ
ットが必ず存在する。一方、p 外6 PWCS
(c′)であ
【0059】
【外6】
【0060】るから、CS(c′)にはpを含むインプ
ライド・セットは存在しない。すなわち、CS(c)
外7 CS(c′)となり、(6)に反する。このよう
に、(
【0061】
【外7】
【0062】6′)が成り立たなければ、(6)も成り
立たない。したがって、(6)が成り立てば、(6′)
が成り立つ。(証明終り) ここで、条件(6′)の十分性について検討してみる。
仮に、(6)に反して、q∈CS(c)、かつ、q 外
8 CS(c′)なるインプライド・セットq
【0063】
【外8】
【0064】が存在したとする。c′⊂cであるから、
各入力に対して、cのインプライド・セットはc′のイ
ンプライド・セットを必ず包含する。したがって、qは
次の2つの条件のうちいずれかを満足する。
【0065】(α)qはCS(c′)内のどのインプラ
イド・セットとも共通部分を持たない。 (β)CS(c′)内にqを真に含むインプライド・セ
ットrが存在する。
【0066】(α)の場合には、qに含まれる任意の状
態対pに対して、p∈PWCS(c)、かつ、p 外9
PWCS(c′)が成り立つ。すなわち、PWCS
(c)
【0067】
【外9】
【0068】外10 PWCS(c′)となって、
(6′)に反する。このように、(6)が
【0069】
【外10】
【0070】成り立たなければ、(6′)も成り立たな
い。したがって、(6′)が成り立てば(6)が成り立
ち、条件(5)のもとで、(6′)は(6)の十分条件
となる。
【0071】しかし、(β)の場合には、rに含まれる
がqには含まれないすべての状態対がCS(c′)内の
他のインプライド・セットに含まれる時、必ずしもPW
CS(c) 外11 PWCS(c′)であるとは限ら
ない。したがって、(6′)
【0072】
【外11】
【0073】の十分性は保証されない。定理1は、コン
パチブルcに含まれるあるコンパチブルc′がcに支配
されるとき、c′はcのすべてのインプライド・ペアを
インプライド・ペアとして持つことを示している。ここ
で、あるコンパチブルに支配されるコンパチブルを容易
に求めるため、以下のようなコンパチブルのシグネチャ
(signature) という概念を導入する。
【0074】定義4: コンパチブルcの部分集合d
で、以下を満たすものをcのシグネチャという。 (9)PWCS(c)⊆PWCS(d)、かつ、 (10)∀d′∈Sig(c),d′ 外12 d.
(定義終り)
【0075】
【外12】
【0076】ここで、Sig(c)は、コンパチブルc
に対するすべてのシグネチャからなる集合を表す。直観
的には、あるコンパチブルcのシグネチャdとは、PW
CS(c)に属するインプライド・ペアをインプライド
・ペアとするような状態対に含まれる状態からなる極小
集合である。したがって、シグネチャdを求める時に
は、まずコンパチブルc内の任意の状態対に対する次状
態の状態対のうち、cに含まれるものを除外する必要が
ある。そして、残った次状態の状態対をインプライド・
ペアとする状態対から適当なものを選び、それらに含ま
れる状態からなる集合を生成すればよい。コンパチブル
の1つのインプライド・ペアを複数の状態対がインプラ
イしている場合、そのうちのどの1つをシグネチャに含
めてもよいので、そのシグネチャは複数個存在すること
になる。
【0077】このシグネチャという概念を用いて定理1
を書き換えると、次のようになる。 定理2: コンパチブルcがc′を支配するとき、以下
の(5)、(6″)を満足する。
【0078】(5)c′⊂c (6″)∃d∈Sig(c), c′⊇d.(定理終り) 定理2の証明は以下の通りである。条件(5)のもと
で、定理1の(6′)が成り立つときに(6″)が成り
立つことを証明すればよい。
【0079】定理1の(6′)よりPWCS(c′)⊇
PWCS(c)であるので、定義4よりc′∈Sig
(c)、または、∃d∈Sig(c)に対してd⊂c′
となる。したがって、(6″)が成り立つ。(証明終
り) 定理2の(5)、(6″)をまとめると、 ∃d∈Sig(c),c⊃c′⊇d (11) と書ける。
【0080】図3は、条件(11)におけるコンパチブ
ルc、c′とシグネチャdの関係を示している。条件
(11)および図3から、コンパチブルcのシグネチャ
dは、そのコンパチブルcと被支配コンパチブルc′と
に共通に含まれることが分かる。このことを用いれば、
あるコンパチブルの部分集合がそのコンパチブルに支配
されないことを、比較的容易に確認できる。また、各コ
ンパチブルcのシグネチャdを用いて、条件(11)を
満足するコンパチブルc′を被支配コンパチブルと推定
して、それらをすべてのコンパチブルの中から除いてい
くことにより、プライム・コンパチブルの候補を削減す
ることができる。1つのコンパチブルcに対してシグネ
チャが複数存在する場合は、どれか1つのシグネチャd
に対して条件(11)が成り立てば、そのときのコンパ
チブルc′が除外される。
【0081】例えば、コンパチブル{A,B}に対し
て、Sig({A,B})={{A},{B}}のとき
には、{A,B}⊃c′⊇{A}、または、{A,B}
⊃c′⊇{B}であるようなすべてのコンパチブルc′
を、{A,B}の被支配コンパチブルと推定する。そこ
で、これらをプライム・コンパチブルの候補から除外す
る。
【0082】この方法では、あるコンパチブルの部分集
合がそのコンパチブルに支配されることを完全には確認
できないため、プライム・コンパチブルをいつも正確に
求められるとは限らない。しかしながら、現実には、定
理1の(6′)が成り立つ時には大抵定義1の(6)が
成り立つ。また、定理2の(6″)が成り立てば定理1
の(6′)が成り立つので、定理2を用いてコンパチブ
ルを除くことにより、プライム・コンパチブルをほぼ正
確に求められると考えられる。したがって、有限状態機
械の状態数を最小化する実用的な方法の1つとして有効
である。次に、図4から図6までを参照しながら、図2
の状態数最小化装置によるプライム・コンパチブル計算
処理について説明する。図4は、プライム・コンパチブ
ル計算処理のフローチャートであり、図5は、図4のス
テップS6およびS12で行われるシグネチャ計算処理
のフローチャートである。また図6は、図4のステップ
S9およびS10で行われる被支配コンパチブル排除の
例を示している。
【0083】図4において処理が開始されると、まず入
出力装置11から状態遷移表等の状態遷移に関する情報
(状態遷移情報)が入力される(ステップS1)。次
に、演算処理装置12は、マージャ・テーブル作成プロ
グラム15を実行して、状態遷移情報からマージャ・テ
ーブルを作成し(ステップS2)、極大コンパチブル生
成プログラム16を実行して、極大コンパチブルを生成
する(ステップS3)。次に、生成した極大コンパチブ
ルのうち最大のものの大きさをnとおき(ステップS
4)、大きさnのすべての極大コンパチブルの集合をプ
ライム・コンパチブルの集合Xとしてデータ記憶装置1
3に格納する(ステップS5)。そして、Xに含まれる
各コンパチブルのシグネチャを計算する(ステップS
6)。 ステップS6においては、演算処理装置12は
シグネチャ生成プログラム17を実行して、与えられた
コンパチブルcのシグネチャを定義4に従って生成す
る。まず、図5に示すように、コンパチブルc内の任意
の状態対に対するインプライド・ペアであって、PWC
S(c)に含まれるインプライド・ペアp1、・・・、
pmを生成する(ステップS21)。定義3の(8)よ
り、各インプライド・ペアpi(i=1,...,m)
を構成する2つの状態が、コンパチブルcに同時に含ま
れることはない。次に、各インプライド・ペアpiを次
状態対として持つc内の状態対の集合それぞれから1つ
ずつ状態対を選択し、任意の状態対集合を生成する(ス
テップS22)。そして、その状態対集合に含まれる各
状態対を構成する状態を要素とする状態集合を生成す
る。次に、生成した複数の状態集合のうち、他の状態集
合を含むものを排除し、残った各状態集合をそれぞれc
のシグネチャとする(ステップS23)。これらのシグ
ネチャは、他の状態集合を含まないという意味におい
て、極小な状態集合となっている。
【0084】例えば図18の有限状態機械の場合、まず
図20に示すようなマージャ・テーブルが作成され(ス
テップS2)、従来と同様に4つの極大コンパチブル
{A,B,C}、{A,C,F}、{C,D,E}、
{C,E,F}が生成される(ステップS3)。これら
の極大コンパチブルはすべて大きさが3であり、最大コ
ンパチブルに相当する。したがって、n=3となり(ス
テップS4)、これらの極大コンパチブルが、図7に示
すように、大きさ3のプライム・コンパチブルとなる
(ステップS5)。これらのプライム・コンパチブルに
ついて、シグネチャが求められる(ステップS6)。
【0085】例えば、コンパチブル{A,C,F}内の
状態対(A,C)、(A,F)のインプライド・ペア
は、図20よりそれぞれ(B,C)、(D,E)であ
り、状態対(C,F)のインプライド・ペアは(B,
C)と(D,E)である(ステップS21)。これらの
関係を状態対からそのインプライド・ペアに向かう矢印
を用いて表すと、 (A,C)→(B,C) (A,F)→(D,E) (C,F)→(B,C),(D,E) となる。これをインプライド・ペア毎にまとめると、 (B,C)←(A,C),(C,F) (D,E)←(A,F),(C,F) となる。
【0086】図8は、コンパチブル{A,C,F}内の
状態対とそれらのインプライド・ペアの関係を示してい
る。インプライド・ペア(B,C)を構成する2つの状
態の集合{B,C}は、コンパチブル{A,C,F}に
は含まれないため、(B,C)は{A,C,F}のペア
ワイズ・クラス・セットに属する。インプライド・ペア
(D,E)についても同様である。
【0087】図8より、インプライド・ペア(B,C)
をインプライするには、状態対(A,C)、(C,F)
のうちのいずれか一方を選択して、状態対集合に含めな
ければならないことが分かる。同様に、インプライド・
ペア(D,E)に対しては、(A,F)、(C,F)の
うち一方を選択し、状態対集合に含めなければならな
い。したがって、状態対集合としては、{(A,C),
(A,F)}、{(A,C),(C,F)}、{(C,
F),(A,F)}、{(C,F)}の4つが生成され
る。これらのうち、最初の3つの状態対集合からは状態
集合{A,C,F}が生成され、状態対集合{(C,
F)}からは状態集合{C,F}が生成される(ステッ
プS22)。
【0088】生成された状態集合{A,C,F}、
{C,F}のうち、{A,C,F}はもう一方の{C,
F}を含むので排除される(ステップS23)。一方、
{C,F}は他の状態集合を含まないので極小集合とし
て残り、コンパチブル{A,C,F}のシグネチャとし
て採用される。
【0089】同様にして、コンパチブル{A,B,C}
内の状態対とそれらのインプライド・ペアの関係は図9
のようになる。図9に示されたインプライド・ペア
(E,F)、(B,C)、(A,C)のうち、(B,
C)と(A,C)については、それらを構成する2つの
状態の集合{B,C}、{A,C}がコンパチブル
{A,B,C}に含まれる。したがって、これらのイン
プライド・ペアは{A,B,C}のペアワイズ・クラス
・セットに含まれず、ステップS21では除外される。
ここで、インプライド・ペア(E,F)のみが処理の対
象として残される。
【0090】図9より、インプライド・ペア(E,F)
をインプライするには、状態対(A,B)、(B,C)
のうちのいずれか一方を選択して、状態対集合に含めな
ければならないことが分かる。したがって、状態対集合
としては、{(A,B)}と{(B,C)}の2つが生
成され、これらの状態対集合からは状態集合{A,B}
と{B,C}がそれぞれ生成される(ステップS2
2)。これらの状態集合{A,B}、{B,C}は互い
に相手を含んでいないため、ともにコンパチブル{A,
B,C}のシグネチャとなる(ステップS23)。
【0091】このようにして、大きさ3のプライム・コ
ンパチブルのシグネチャが順次求められ、その結果は図
7に示すようになる(ステップS6)。次に、演算処理
装置12はnを1だけデクリメントし(ステップS
7)、nが0になったかどうかを判定する(ステップS
8)。nが0より大きければ、コンパチブル生成プログ
ラム18を実行して、集合X内の任意のコンパチブルの
部分集合で、そのコンパチブル自身に支配されない大き
さnのすべてのコンパチブルを生成し、それらの集合を
Yとする(ステップS9)。そして、集合Yをデータ記
憶装置13に格納する。次に、被支配コンパチブル排除
プログラム19を実行して、集合Y内のコンパチブルで
あって、集合X内の他のコンパチブルに支配されるもの
を集合Yから排除する(ステップS10)。これらの処
理により排除される被支配コンパチブルが図6に示され
ている。
【0092】図6において、集合X内のコンパチブルX
1 、X2 のうち、X1 の部分集合はC1、C2、C3の
3つである。このうち、部分集合C2はコンパチブルX
1 自身に支配されているために、集合Yから排除される
(ステップS9)。また、部分集合C3はコンパチブル
1 には支配されないが、他のコンパチブルであるX 2
に支配されるので、集合Yから排除される(ステップS
10)。したがって、コンパチブルX1 の部分集合とし
ては、C1のみが集合Yに残ることになる。
【0093】次に、演算処理装置12は、集合X内のコ
ンパチブルの部分集合としては生成できない大きさnの
すべての極大コンパチブルを生成し、集合Yに加える
(ステップS11)。
【0094】ここでは、最初n=3であったので(ステ
ップS4)、次にn=2となり(ステップS7)、大き
さ2のコンパチブルが生成される(ステップS9)。こ
のとき、従来の方法とは異なり、集合X内のプライム・
コンパチブル{A,C,F}の部分集合である{C,
F}を生成する必要がない。なぜなら、コンパチブル
{C,F}は、図7より{A,C,F}のシグネチャに
相当するため、シグネチャ{C,F}を含んでいる。し
たがって、条件(11)より、コンパチブル{A,C,
F}の被支配コンパチブルであると推定されるからであ
る。同様に、プライム・コンパチブル{A,B,C}の
部分集合である{A,B}、{B,C}も、{A,B,
C}のシグネチャ{A,B}、{B,C}をそれぞれ含
んでいる。したがって、これらはコンパチブル{A,
B,C}の被支配コンパチブルであると推定され、ここ
では生成されない。図10は、このようにして求められ
た大きさ2以上のプライム・コンパチブルを示してい
る。
【0095】次に、演算処理装置12はシグネチャ生成
プログラム17を実行して、集合Y内の各コンパチブル
のシグネチャを求める(ステップS12)。ここで、大
きさ2以上のプライム・コンパチブルのシグネチャは、
図10のようになる。図10に示されるように、大きさ
2のコンパチブルについては、その中に含まれる状態対
は1つだけであり、そのコンパチブル自身がシグネチャ
となることが多い。ただし、プライム・コンパチブル
{C,E}については、図20より状態対{C,E}の
インプライド・ペアが空集合であるため、シグネチャも
空集合となる。このとき、{C,E}のいかなる部分集
合も{C,E}のシグネチャを含むため、{C,E}の
被支配コンパチブルと推定される。したがって、以降の
処理では、{C,E}の部分集合について考慮する必要
はない。
【0096】次に、演算処理装置12は集合XとYの和
をとり、改めてプライム・コンパチブルの集合Xとして
データ記憶装置13に格納する(ステップS13)。ま
た、再びnを1だけデクリメントし、ステップS8以降
の処理を繰り返す。そして、ステップS8でnが0にな
ると、集合Xとして格納されているすべてのプライム・
コンパチブルを入出力装置11から出力して(ステップ
S14)、処理を終了する。
【0097】図11は、このようにして最終的に得られ
たすべてのプライム・コンパチブルをとそれらのシグネ
チャを示している。図11において、大きさ1のプライ
ム・コンパチブルは1つの状態のみからなるが、{C}
と{E}は{C,E}の被支配コンパチブルとして除外
されている。また、大きさ1のプライム・コンパチブル
は状態対を構成できないため、インプライド・ペアを持
たず、したがってそのシグネチャも空集合となる。
【0098】図11に示されたプライム・コンパチブル
は、図23のプライム・コンパチブルと一致しており、
これらのプライム・コンパチブルから公知の分岐限定法
等により有限状態機械の最小解が求められる。したがっ
て、状態数最小化を行った後の状態遷移表は図24のよ
うになる。
【0099】次に、図12から図17までを参照しなが
ら、有限状態機械の状態数最小化と合成される論理回路
の関係について説明する。まず、図18の有限状態機械
の状態数を最小化することなく、順序回路として実現す
る場合を考える。図18においては、状態数は6である
ので、少なくとも順序回路のフリップフロップは「log2
6」=3個必要である。ただし、「R」は実数R以上の
値を持つ最小の整数を表すものとする。今、例えばこれ
らの各状態に対して、図12に示すように3ビットの符
号割り当てを行って、状態ベクトルに変換したとする。
また、入力についてはI1 を0、I2 を1と割り当て、
さらに出力のドントケア値はすべて0であるとすると、
これらの状態ベクトルおよび入力ベクトルを用いて、図
18の状態遷移表は図13のような遷移・出力表に変換
できる。図13において、y3 2 1 は現状態を表す
状態ベクトルであり、xは入力を表す入力ベクトルであ
る。この遷移・出力表をもとに、対応する順序回路を合
成することができる。
【0100】図14は、図13の遷移・出力表を実現し
た順序回路の一例を示している。図14において、組合
わせ回路部25に対する入力xは有限状態機械の入力ベ
クトルに対応しており、3つの入力y3 、y2 、y1
現状態の状態ベクトルy3 2 1 の成分に対応してい
る。また、組合わせ回路部25の出力zは有限状態機械
の出力に対応しており、3つの出力y3 ′、y2 ′、y
1 ′は次状態を表す状態ベクトルの成分に対応してい
る。
【0101】組合わせ回路部25は、インバータ22−
1、22−2、22−3、22−4、ANDゲート23
−1、23−2、23−3、23−4、23−5、23
−6、23−7、23−8、23−9、およびORゲー
ト24−1、24−2、24−3からなり、入力x、y
3 、y2 、y1 から出力z、y3 ′、y2 ′、y1 ′を
生成する。フリップフロップ21−1、21−2、21
−3は、現状態を表すy3 、y2 、y1 をそれぞれ組合
わせ回路部25に出力し、次状態を表すy3 ′、
2 ′、y1 ′を入力として受け取る。次に、受け取っ
たこれらの値を、遷移後の新たな現状態を表すy3 、y
2 、y1 として組合わせ回路部25に与える。
【0102】次に、図18の有限状態機械の状態数を最
小化した後に、順序回路として実現する場合を考える。
この場合の有限状態機械の状態遷移表は図24のように
なる。図24においては状態数は3であるから、必要な
最小フリップフロップの数は「log23」=2となり、図
18の場合と比べて1つ少なくなる。これらの各状態に
対して2ビットの状態ベクトルを図15のように割り当
てると、遷移・出力表は図16のようになる。図16に
おいて、y2 1 は現状態を表す状態ベクトルであり、
xは入力を表す入力ベクトルである。
【0103】図17は、図16の遷移・出力表を実現し
た順序回路の一例を示している。図17において、組合
わせ回路部35に対する入力xは図16の有限状態機械
の入力ベクトルに対応しており、入力y2 、y1 は現状
態の状態ベクトルy2 1 の成分に対応している。ま
た、組合わせ回路部35の出力zは有限状態機械の出力
に対応しており、出力y2 ′、y1 ′は次状態を表す状
態ベクトルの成分に対応している。
【0104】組合わせ回路部35は、インバータ32−
1、32−2、ANDゲート33−1、33−2、33
−3、33−4、およびORゲート34−1、34−2
からなり、入力x、y2 、y1 から出力z、y2 ′、y
1 ′を生成する。フリップフロップ31−1、31−2
は、現状態を表すy2 、y1 をそれぞれ組合わせ回路部
35に出力し、次状態を表すy2 ′、y1 ′を入力とし
て受け取る。次に、受け取ったこれらの値を、遷移後の
新たな現状態を表すy2 、y1 として組合わせ回路部3
5に与える。図17の順序回路を図14のそれと比べる
と、フリップフロップの数が3個から2個に減少し、組
合せ回路部分のゲート数が16個から8個に減少してい
ることが分かる。
【0105】一般に、状態数の最小化を行ってから順序
回路の合成を行うと、次のような利点がある。 (a)順序回路に含まれるフリップフロップの数が少な
くなる可能性がある。
【0106】(b)フリップフロップの数が少なくなっ
た場合には、次状態の状態ベクトルの成分のうち、削除
されたフリップフロップに対応するビットの値を計算す
るための論理回路が不要になり、組合せ回路部分のゲー
ト数も少なくなることが多い。
【0107】(c)フリップフロップの数が少なくなら
ない場合でも、状態数が少なくなることにより回路の未
使用状態が増え、組合せ回路部分の合成の際にそれらを
ドントケアとして扱うことにより、組合せ回路のゲート
数が少なくなる可能性がある。
【0108】以上、有限状態機械を論理回路の合成のた
めに用いる例について説明したが、これをある文字列が
与えられた言語に含まれるか否かを判定するための機械
と見ることもできる。このような目的で有限状態機械が
用いられる例としては、コンパイラにおける字句解析や
音声認識における言語処理などがある。いずれも、ある
文字列がマッチする文字列を探す処理を行うために用い
るものである。
【0109】この場合は、非決定性有限状態機械をまず
構成し、それを決定性有限状態機械に変換してから状態
数最小化の処理を行うことが多い。これらの決定性有限
状態機械は通常完全指定であるため、プライム・コンパ
チブルを求めることなく、より計算量の少ない最小化ア
ルゴリズムにより、状態数を最小化することができる。
しかし、決定性不完全指定有限状態機械を構成して、本
発明の状態数最小化方法により最小解を求めることも可
能である。
【0110】
【発明の効果】本発明によれば、有限状態機械の状態数
最小化問題において、コンパチブルの部分集合であるシ
グネチャを計算し、シグネチャを含む部分集合を被支配
コンパチブルとして排除する。これにより、状態の集合
の集合であるクラス・セットどうしの包含性判定を行う
ことなく、プライム・コンパチブルを求めることができ
る。したがって、計算機によるプライム・コンパチブル
の生成処理の計算時間が短縮され、状態数の最小化処理
が効率化される。
【図面の簡単な説明】
【図1】本発明の原理図である。
【図2】実施例の状態数最小化装置の構成図である。
【図3】コンパチブルとシグネチャの関係を示す図であ
る。
【図4】プライム・コンパチブル計算処理のフローチャ
ートである。
【図5】シグネチャ計算処理のフローチャートである。
【図6】被支配コンパチブル排除の例を示す図である。
【図7】大きさ3のプライム・コンパチブルとそのシグ
ネチャを示す図である。
【図8】コンパチブル{A,C,F}のインプライド・
ペアを示す図である。
【図9】コンパチブル{A,B,C}のインプライド・
ペアを示す図である。
【図10】大きさ2以上のプライム・コンパチブルとそ
のシグネチャを示す図である。
【図11】すべてのプライム・コンパチブルとそのシグ
ネチャを示す図である。
【図12】状態割当を示す図である。
【図13】遷移・出力表を示す図である。
【図14】状態数を最小化せずに合成した時の順序回路
を示す図である。
【図15】状態数を最小化した場合の状態割当を示す図
である。
【図16】状態数を最小化した場合の遷移・出力表を示
す図である。
【図17】状態数を最小化した順序回路を示す図であ
る。
【図18】有限状態機械の状態遷移を示す図である。
【図19】マージャ・テーブルを示す図である。
【図20】更新後のマージャ・テーブルを示す図であ
る。
【図21】大きさ3のプライム・コンパチブルとそのク
ラス・セットを示す図である。
【図22】大きさ2以上のプライム・コンパチブルとそ
のクラス・セットを示す図である。
【図23】すべてのプライム・コンパチブルとそのクラ
ス・セットを示す図である。
【図24】状態数を最小化した有限状態機械の状態遷移
を示す図である。
【符号の説明】
1 入力手段 2 コンパチブル生成手段 3 コンパチブル排除手段 4 状態数最小化手段 5 出力手段 6 シグネチャ計算手段 11 入出力装置 12 演算処理装置 13 データ記憶装置 14 プログラム記憶装置 15 マージャ・テーブル作成プログラム 16 極大コンパチブル生成プログラム 17 シグネチャ生成プログラム 18 コンパチブル生成プログラム 19 被支配コンパチブル排除プログラム 20 バス 21−1、21−2、21−3、31−1、31−2
フリップフロップ 22−1、22−2、22−3、22−4、32−1、
32−2 インバータ 23−1、23−2、23−3、23−4、23−5、
23−6、23−7、23−8、23−9、33−1、
33−2、33−3、33−4 ANDゲート 24−1、24−2、24−3、34−1、34−2
ORゲート 25、35 組合わせ回路部

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 現在の状態から次の状態への状態遷移の
    規則が定められている有限状態機械がとり得る状態の数
    を最小化するために、該有限状態機械の状態のコンパチ
    ブル集合であって、他のコンパチブル集合によって支配
    されないプライム・コンパチブル集合を求める情報処理
    装置において、 前記有限状態機械に関する第1の状態遷移情報を入力す
    る入力手段と、 該第1の状態遷移情報から第1のプライム・コンパチブ
    ル集合を生成し、該第1のプライム・コンパチブル集合
    の第1の部分集合を、プライム・コンパチブル集合の候
    補とするコンパチブル生成手段と、 前記第1の部分集合が前記第1のプライム・コンパチブ
    ル集合の第2の部分集合を含むか否かを調べ、該第1の
    部分集合が該第2の部分集合を含む時、該第1の部分集
    合をプライム・コンパチブル集合の解から排除し、該第
    1の部分集合が該第2の部分集合を含まない時、該第1
    の部分集合を第2のプライム・コンパチブル集合として
    前記プライム・コンパチブル集合の解に含めるコンパチ
    ブル排除手段と、 前記プライム・コンパチブル集合の解をもとに、状態数
    を削減する状態数最小化手段と、 削減された状態により表現される第2の状態遷移情報を
    出力する出力手段とを備えることを特徴とする状態数最
    小化装置。
  2. 【請求項2】 前記コンパチブル生成手段が生成する前
    記第1のプライム・コンパチブル集合内の任意の状態対
    について、該第1のプライム・コンパチブルに含まれな
    いインプライド・ペアを前記第1の状態遷移情報から求
    め、該インプライド・ペアを次の状態対として持つ状態
    対に含まれる状態から構成される第1の状態集合を計算
    して生成し、該第1の状態集合が前記第1のプライム・
    コンパチブル集合から生成される第2の状態集合に含ま
    れないとき、該第1の状態集合を該第1のプライム・コ
    ンパチブル集合のシグネチャとするシグネチャ計算手段
    をさらに備え、 前記コンパチブル排除手段は、前記シグネチャを前記第
    2の部分集合として用いて、前記第1の部分集合を前記
    プライム・コンパチブル集合の解から排除するかどうか
    を決めることを特徴とする請求項1記載の状態数最小化
    装置。
  3. 【請求項3】 前記コンパチブル生成手段は、前記第1
    の状態遷移情報から第3のプライム・コンパチブル集合
    を生成し、該第3のプライム・コンパチブル集合が前記
    第1の部分集合を含む時、前記コンパチブル排除手段
    は、前記第1の部分集合が前記第3のプライム・コンパ
    チブル集合の第3の部分集合を含むか否かを調べ、該第
    1の部分集合が該第3の部分集合を含む時、該第1の部
    分集合を前記プライム・コンパチブル集合の解から排除
    することを特徴とする請求項1記載の状態数最小化装
    置。
  4. 【請求項4】 前記コンパチブル生成手段が生成する前
    記第3のプライム・コンパチブル集合内の任意の状態対
    について、該第3のプライム・コンパチブルに含まれな
    いインプライド・ペアを前記第1の状態遷移情報から求
    め、該インプライド・ペアを次の状態対として持つ状態
    対に含まれる状態から構成される第3の状態集合を計算
    して生成し、該第3の状態集合が前記第3のプライム・
    コンパチブル集合から生成される第4の状態集合に含ま
    れないとき、該第3の状態集合を該第3のプライム・コ
    ンパチブル集合のシグネチャとするシグネチャ計算手段
    をさらに備え、 前記コンパチブル排除手段は、前記シグネチャを前記第
    3の部分集合として用いて、前記第1の部分集合を前記
    プライム・コンパチブル集合の解から排除するかどうか
    を決めることを特徴とする請求項3記載の状態数最小化
    装置。
  5. 【請求項5】 前記コンパチブル生成手段は、前記有限
    状態機械がとり得る状態の極大コンパチブル集合を前記
    第1のプライム・コンパチブル集合として生成し、該極
    大コンパチブル集合の部分集合を前記第1の部分集合と
    することを特徴とする請求項1記載の状態数最小化装
    置。
  6. 【請求項6】 前記コンパチブル生成手段は、前記第2
    のプライム・コンパチブル集合を前記第1のプライム・
    コンパチブル集合として用いて、さらにプライム・コン
    パチブル集合の候補を生成し、前記コンパチブル排除手
    段は、新たに生成されたプライム・コンパチブル集合の
    候補を前記プライム・コンパチブル集合の解から排除す
    るかどうかを決めることを特徴とする請求項1記載の状
    態数最小化装置。
  7. 【請求項7】 請求項1記載の状態数最小化装置と、 該状態数最小化装置が出力する前記第2の状態遷移情報
    を用いて、前記有限状態機械が表す論理回路を合成する
    手段とを備えることを特徴とする論理回路合成システ
    ム。
  8. 【請求項8】 現在の状態から次の状態への状態遷移の
    規則が定められている有限状態機械がとり得る状態の数
    を最小化するために、該有限状態機械の状態のコンパチ
    ブル集合であって、他のコンパチブル集合によって支配
    されないプライム・コンパチブル集合を求める方法にお
    いて、 前記有限状態機械に関する第1の状態遷移情報を生成
    し、 該第1の状態遷移情報から第1のプライム・コンパチブ
    ル集合を生成して、該第1のプライム・コンパチブル集
    合の第1の部分集合を、プライム・コンパチブル集合の
    候補とし、 前記第1の部分集合が前記第1のプライム・コンパチブ
    ル集合の第2の部分集合を含むか否かを調べ、該第1の
    部分集合が該第2の部分集合を含む時、該第1の部分集
    合をプライム・コンパチブル集合の解から排除し、該第
    1の部分集合が該第2の部分集合を含まない時、該第1
    の部分集合を第2のプライム・コンパチブル集合として
    前記プライム・コンパチブル集合の解に含め、 前記プライム・コンパチブル集合の解をもとに状態数を
    削減し、 削減された状態により表現される第2の状態遷移情報を
    生成することを特徴とする状態数最小化方法。
  9. 【請求項9】 前記第1のプライム・コンパチブル集合
    内の任意の状態対について、該第1のプライム・コンパ
    チブルに含まれないインプライド・ペアを前記第1の状
    態遷移情報から求め、 該インプライド・ペアを次の状態対として持つ状態対に
    含まれる状態から構成される第1の状態集合を計算して
    生成し、 該第1の状態集合が前記第1のプライム・コンパチブル
    集合から生成される第2の状態集合に含まれないとき、
    該第1の状態集合を該第1のプライム・コンパチブル集
    合のシグネチャとし、 前記シグネチャを前記第2の部分集合として用いて、前
    記第1の部分集合を前記プライム・コンパチブル集合の
    解から排除するかどうかを決めることを特徴とする請求
    項 記載の状態数最小化方法。
  10. 【請求項10】 請求項8記載の状態数最小化方法によ
    り生成された前記第2の状態遷移情報を用いて、前記有
    限状態機械が表す論理回路を合成することを特徴とする
    論理回路合成方法。
JP12185995A 1995-05-19 1995-05-19 プライム・コンパチブルによる有限状態機械の状態数最小化装置および方法 Expired - Fee Related JP3302218B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12185995A JP3302218B2 (ja) 1995-05-19 1995-05-19 プライム・コンパチブルによる有限状態機械の状態数最小化装置および方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12185995A JP3302218B2 (ja) 1995-05-19 1995-05-19 プライム・コンパチブルによる有限状態機械の状態数最小化装置および方法

Publications (2)

Publication Number Publication Date
JPH08314989A true JPH08314989A (ja) 1996-11-29
JP3302218B2 JP3302218B2 (ja) 2002-07-15

Family

ID=14821707

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12185995A Expired - Fee Related JP3302218B2 (ja) 1995-05-19 1995-05-19 プライム・コンパチブルによる有限状態機械の状態数最小化装置および方法

Country Status (1)

Country Link
JP (1) JP3302218B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009054147A (ja) * 2007-07-02 2009-03-12 Cadence Design Systems Inc 合成検証のための自動仮定を生成する方法、システム、及びコンピュータプログラム製品

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009054147A (ja) * 2007-07-02 2009-03-12 Cadence Design Systems Inc 合成検証のための自動仮定を生成する方法、システム、及びコンピュータプログラム製品

Also Published As

Publication number Publication date
JP3302218B2 (ja) 2002-07-15

Similar Documents

Publication Publication Date Title
Burkart et al. Verification on infinite structures
JP4028107B2 (ja) 分解及び分割によるハードウェアの検証並びに表現方法
US6912700B1 (en) Method and system for non-linear state based satisfiability
Heckel Compositional verification of reactive systems specified by graph transformation
Klarner et al. Approximating attractors of Boolean networks by iterative CTL model checking
Cooper et al. The Hamiltonian cycle and travelling salesman problems in cP systems
WO2005072351A2 (en) Rule selection engine
Fisman et al. Beyond regular model checking
JPH03116281A (ja) 論理合成装置
JPH08314989A (ja) プライム・コンパチブルによる有限状態機械の状態数最小化装置および方法
Hawkins et al. A hybrid BDD and SAT finite domain constraint solver
Noguchi et al. An asynchronous P system with a DPLL algorithm for solving SAT
Ipate et al. Model learning and test generation using cover automata
US5542080A (en) Method for controlling execution of data driven type information processor
Gillis et al. A formal model for databases in DNA
Mulhern Proof weaving
Jacob et al. Unate decomposition of Boolean functions
JPH11213024A (ja) 回路合成方法、回路合成装置および記録媒体
Fei et al. Symbolic reachability computation using the disjunctive partitioning technique in supervisory control theory
Möhlmann et al. Breaking dense structures: Proving stability of densely structured hybrid systems
Lévy Redexes are stable in the λ-calculus
JPH09160937A (ja) 有限状態機械の状態数を削減する状態簡単化装置および方法
JPH06149927A (ja) 積和形論理式の処理方法
Rutten et al. An efficient divide and conquer algorithm for exact hazard free logic minimization
Raymond et al. User's Guide to Grail

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20020416

LAPS Cancellation because of no payment of annual fees