JP2534190B2 - 関数のプライムインプリカントの暗黙表現を自動的に生成する方法 - Google Patents
関数のプライムインプリカントの暗黙表現を自動的に生成する方法Info
- Publication number
- JP2534190B2 JP2534190B2 JP5103108A JP10310893A JP2534190B2 JP 2534190 B2 JP2534190 B2 JP 2534190B2 JP 5103108 A JP5103108 A JP 5103108A JP 10310893 A JP10310893 A JP 10310893A JP 2534190 B2 JP2534190 B2 JP 2534190B2
- Authority
- JP
- Japan
- Prior art keywords
- minus
- function
- node
- branch
- norme
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 230000006870 function Effects 0.000 claims description 175
- 238000010586 diagram Methods 0.000 claims description 71
- 230000014509 gene expression Effects 0.000 claims description 47
- 238000000034 method Methods 0.000 claims description 25
- 238000012545 processing Methods 0.000 claims description 16
- 230000001419 dependent effect Effects 0.000 claims description 12
- 238000010606 normalization Methods 0.000 claims description 8
- 239000000543 intermediate Substances 0.000 description 22
- 238000012986 modification Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 241000593528 Mimus Species 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 229910052717 sulfur Inorganic materials 0.000 description 2
- HCUOEKSZWPGJIM-YBRHCDHNSA-N (e,2e)-2-hydroxyimino-6-methoxy-4-methyl-5-nitrohex-3-enamide Chemical compound COCC([N+]([O-])=O)\C(C)=C\C(=N/O)\C(N)=O HCUOEKSZWPGJIM-YBRHCDHNSA-N 0.000 description 1
- 241000577395 Thenus Species 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 229910052760 oxygen Inorganic materials 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3323—Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Geometry (AREA)
- Operations Research (AREA)
- Probability & Statistics with Applications (AREA)
- Evolutionary Computation (AREA)
- Algebra (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Devices For Executing Special Programs (AREA)
- Debugging And Monitoring (AREA)
Description
してブール関数のプライムインプリカントの暗黙表現を
自動的に生成する方法に関する。
ている。例えば、複雑な電気回路の合成及び最適化やシ
ステム障害の分析はかかる操作に基づくものである。シ
ステム障害の分析においては、ブール関数を使用して障
害の出現を、その障害を惹起したであろう外部事象の関
数として表わし得る。このような関数は、真理表、ブー
ル方程式及びKarnaughマップの形式で表され得
る。種々の公知の表現モードによって、存在し得る変数
(または事象)の各組合せを表示することができる。し
かしながら、かかる表現は、そのサイズが関数の決定に
おいて出現する変数の数の関数として指数関数的に増大
するという欠点を有する。即ち、n変数従属関数に対し
ては2n個の変数の組合せが考え得る。
す場合、考え得る変数の各組合せ及び対応する関数の各
値を同じ行上に与えることができるが、n変数関数に対
してこのような表はn+1列及び2n行を有する。これ
はプロセッサのメモリ内に記憶され得るが、多量の領域
を占める。所与の変数の組合せに対する関数の値を求め
るためには、テーブル内の所定数の行を一覧することが
必要であり、これは処理時間に悪影響を及ぼし得る。例
えば探し求めている組合せが表の最後のものであると仮
定すると、対応する関数の値を見付け出すためにはテー
ブル内の全ての行を一覧せねばならない。
Dと称される2進決定グラフまたはダイヤグラムの形式
でブール関数を与えるという概念が考え出された。尚、
B.D.D.は英語の“Binary Decisio
n Diagram”の頭文字をとったものである2進
決定ダイヤグラムとは何かを説明する前に、使用する関
数及び用語の概念及び定義を与える。
れる関数fを考える。この式は命題式であり、x1、
x2、x3は、基準事象の出現を惹起し得る単位事象(a
tomic event)に対応する命題変数である。
障害の原因であり、基準事象は、所定の方法で相互に組
合わされた原因にリンクする特定の障害である。
び“x1*”、“x2*”、“x3*”は、命題変数x1、
x2、x3に対応するリテラルである。リテラルは、命題
変数が関数においてどのように作用しているか、即ち関
連事象の出現または非出現が決定要因であるかまたは無
関係であるかを表している。x1x2*及びx1*x2x3
はリテラル積である。即ち積は変数及び変数の否定の合
接(conjunction)である。
または不在は無関係であることを意味する。
(x1=1)第2単位事象x2は起こらなかった(x2=
0)場合か、或いは、第1事象x1は起こっていないが
第2事象x2及び第3事象x3は起こった場合に、基準事
象が起こる(f=1)ことを意味している。
れた所定数のラベルからなる。各ラベルは関数から定義
される変数を表わし、各ラベルからは2つの枝が出てい
る。ラベル、即ち変数とそこから出ている2つの枝とか
らなる単位がノードを形成する。ノードは点(vert
ex)と称されることもある。各枝は、値が“0”また
は“1”である終点葉を終点にもつ終点枝か、または別
のノードのラベルを終点にもつ中間枝かのいずれかであ
る。ラベルから出る枝の一方は、低値枝または否定枝と
称され、(上述の規約を使用して)関連変数の値が
“0”であるときに何が起こるかを表わしており、高値
枝または肯定枝と称される他方の枝は、変数の値が
“1”のときに何が起こるかを示している。実際、木
は、ルートと称される単一ルート変数(ラベル)から出
発し、そこから2つの枝が出て、更に枝には他のノード
または葉がカスケード状に接続されている。
により、関数が1となるリテラルの組合せが設定され
る。即ち、基準事象の出現を惹起する変数の組合せ
(積)が生成される。即ち、ルートから値が1である各
終点葉までの各経路をたどることにより、基準事象の出
現を惹起した変数の各組合せを見付け出すことができ
る。
って、関数の変数の全ての組合せを極めて完全に且つ簡
潔に表示することができる。占められるメモリスペース
はテーブルと比較してより少なく、2進決定グラフ形式
で示された関数に対する処理時間ははるかに高速であ
る。
ードに含まれる情報を使用して表され得るが故に、2進
決定グラフはプロセッサを用いての自動処理に特に有用
である。
チも考えられている。RandalE.Bryant
は、“IEEE Transactions on C
omputers”,Volume C−35,No.
8,1986年8月の公報に、関数中に現れる変数の種
々の組合せを極めて簡潔に、しかし完全に表わすグラフ
を得るために、変数、即ちノードをどのように並べ得る
かを示した。
うに表される関数に考え得る全ての操作を効果的にまた
は迅速に実施することはできない。実際、幾つかのタイ
プの分析には関数のプライムインプリカントの計算が必
要である。例えばこれは、確率調査、ルート事象の出現
または任意の他のタイプの事象分析を実施する場合に当
てはまる。
する積である。更に、関係PはPを“含む”(即ちP⇒
P’)が真であるならば、第1積Pは第2積P’を“含
む”。更に、プライムインプリカントとは、それを含む
他のインプリカントのないインプリカントである。
点葉まで進むことにより、その関数のプライムインプリ
カントが何であるか直接決定することができる。
ヤグラムからその関数のプライムインプリカントを暗黙
的に計算するように勘案されている。
義の1991年11月の公報には、関数のプライムイン
プリカントを暗黙的に決定し得る幾つかの方法が与えら
れている。
規則を使用し、積に現れる命題変数、例えばXnに従属
する各リテラルを、他の2組の変数、即ち出現変数On
と称される第1変数と、符号変数Snと称される第2変
数とによって与えることにより、2進決定ダイヤグラム
を変換することからなる。
ロであるならば、これは、命題変数が積を得る上で無関
係であることを意味しており、この場合、関連の符号変
数の値は無意味である。出現変数が肯定、即ち2進値
“1”を有するならば、これは、関連命題変数の存在ま
たは不在が結果に有意であり、関連の符号変数は、対応
する命題変数が存在する(規約によればこの場合には符
号変数=1である)かまたは不在である(規約によれば
符号変数=0である)かを示す。
変数の積が幾つかの表現を有し得るという事実を考慮
し、“超積(meta−product)”の概念を導
入している。
x3*・x4}は、積の標準的表現を与える出現及び符号
変数の2組の集合[(0111),(1101)]及び
[(0111),(0101)]によって表され得る。
合(prime set)によって表され得る。この集
合における全ての対の論理和を求めることにより、“超
積”を構成する対の2次集合を得る。これは、積の集合
の標準的表現である。
ようなダイヤグラムを作製することにおいて出現及び符
号変数を使用すると、プライムインプリカントの集合の
暗黙表現を与える結果となる。ルートラベルから出発し
て論理値“1”を有する終点葉で終わる各経路は、ある
ときは出現変数に従属する肯定の枝または否定の枝に沿
って進み、あるときは符号変数に従属する肯定の枝また
は否定の枝に沿って進む。経路上の所与の出現変数(O
i)の否定枝に沿って進むことは、対応する命題変数
が、問題のプライムインプリカントを構成する積に関与
しないことを意味する。
は、自動用途には必ずしも最も適しているわけではな
い。
枝からなる低値枝及び高値枝が出ているルート変数を有
する2進決定ダイヤグラムの形式で表された関数のプラ
イムインプリカントを計算するには、低値枝のプライム
インプリカントを計算すること、高値枝のプライムイン
プリカントを計算すること、そして低値枝及び高値枝の
論理積を与える関数のプライムインプリカントを計算す
ることが必要である。そうして、最終計算には、このよ
うに計算したプライムインプリカントを組合わせる集合
演算を必要とする。これには再帰計算を平行して行なう
ことが前提であり、主枝のプライムインプリカントを得
るためには、各部分枝のプライムインプリカントを計算
し、次いでそれらを組合わせることが必要である。
対称であるならば、上記一連の決定に必要な集合演算
(論理和、論理積、補数計算など)は、実施に問題はな
い。順位付けが適正に行われないと、これらの必須の組
合せは作られない。
て、この方法はメモリをかなり使用することになり、自
動的に実施するのは困難である。場合によっては、サイ
ズの上ではかなりのものである中間暗黙表現が得られ、
対称を維持するために、一連の計算が終了する前に装置
のメモリが飽和し得、メモリが十分であったとしても、
余剰な情報やプライムインプリカントを決定するのに不
必要な情報によって最終表現のサイズは極めて大きくな
る。
の暗黙表現を確定するのに十分な程度まで余剰を削減す
るようにプライムインプリカントを単純化することが尚
考えられる。これは難しいことであり、所定のケースで
は不可能でもあり得る。
術の欠点をもたない、プロセッサのメモリ内に形成され
た2進決定ダイヤグラムから関数のプライムインプリカ
ントを暗示するための方法を提供することである。
し、該装置のメモリゾーン内に最初は2進決定ダイヤグ
ラムを形成する情報の形式で与えられたブール関数
(f)のプライムインプリカントの暗黙表現(PRIM
E(f))を、該装置の別のメモリゾーン内に自動的に
生成する方法は、前記ダイヤグラムを再帰的に通る経路
をとって中間要素を決定し、次いで各再帰のあとに中間
要素を組み合わせることにより、前記情報から暗黙表現
を生成することからなり、前記中間要素の各々が、決定
ダイヤグラムの命題変数(x1,・・・,xn)の各々に
対応する出現変数(O1,・・・,On)及び符号変数
(S1,・・・Sn)を使用しており、中間要素をそれが
生成された時点で正規化してメモリ使用量を少なくする
手段と、正規化した後に中間エレメンを組み合わせる手
段とを使用することを特徴とする。
ラメータまたは要素の値を判定及び/または比較し、判
定または比較の結果に従って、それらが構築される前に
単純化中間体を形成することからなる。この方法によっ
てメモリを煩わすのが避けられる。しかしながら、所定
のケースにおいては中間体間の対称性が失われ、中間体
の構築には、それらを組み合わせる特別の関数の使用が
必要となる。
な要素のみを含むプライムインプリカントの暗黙表現を
実際に与える2進決定ダイヤグラムの形式を有する構造
体を構築することができ、従ってメモリ使用量を少なく
するので特に有利である。決定は、このように形成され
た構造体のルート変数から出発し、その値が“1”であ
る終点葉で終わる種々の経路に沿って進むことにより行
われる。
ら、本発明はより十分に理解されよう。
変数及び符号変数の集合を使用して表わすことができ
る。
と組合わされ得る命題変数xnを考える。
現れる関数の2進決定ダイヤグラムを示す。
よって識別される第1変数はグラフのルートである。こ
の変数は2つの枝を有しており、そこから第1枝は左下
に、第2枝は右下に出ている。左側の枝は低値枝と称さ
れ、右側の枝は高値枝と称される。低値枝及び高値枝を
含むルート単位は、ダイヤグラムの第1ノードを構成し
ている。
識別される第2変数を終点に有する。この第2枝にも低
値枝及び高値枝が従属しており、別のノードを形成して
いる。
は変数)と、枝と、葉とからなる集合は、Lでマークさ
れた該変数の低値部分と称されるものを構成する。変数
の高値枝に従属する集合はHでマークされた該変数の高
値部分を構成する。
あり、低値部分が葉0であり、高値部分が値1の葉であ
るノードから出発している。
て進むと、x2が0であり且つ同時にx1が0であるか、
またはx1が0であり且つ同時にx2が1でありx3が1
であるときに与えられた関数は1であることが決定され
得る。
を進むことからでも推論される。
ら、x1及びx2が同時に1であるときに関数もまた1で
あることを推論し得る。
したように、本発明の課題ではない公知の設定規則に従
う。これらは、Randal E.Eryantによる
上述の公報に記載されている。
には、これらの高値部分と低値部分との間の論理演算を
難なく実施し得る所定の対称性があることが判る。かか
る2進決定ダイヤグラムによって与えられる関数のプラ
イムインプリカントの暗黙的決定にはこの種の演算が必
要であることも判る。
ヤグラムを形成する情報を含むコンピュータメモリがど
のように構成されているかを示す。但し、これは限定的
ではない。
構成されており、各ワードは絶対アドレスまたは相対ア
ドレスADnによって規定されている。
ワードは少なくとも4つのフィールド、即ち第1フィー
ルドVAR、第2フィールドINDL、第3フィールド
INDH及び第4フィールドGESTに分割され得る。
命題変数、例えばXnのタイプ及び順位を示す情報を含
んでいる。
の低値枝がノードを終点に有するかまたは葉を終点に有
するかを示している。
の高値枝が葉を終点に有するかまたはノードを終点に有
するかを示している。
るアドレス間を移動する際にメモリを使用するのに必要
な管理パラメータを含んでいる。
次のように補足することできる:ワード内に含まれる命
題変数に従属する低値枝が葉を終点と場合には、図2に
示した所定のケースのように、その第2フィールドはそ
の葉の値についての情報“Val0”または“Val
1”を含む。
を終点に有する場合には、第2フィールドINDLは、
そのノードが書込まれているワードのメモリアドレスの
値を含む。
ドと同様に、変数に従属する高値枝の終点にノードを有
するか葉を有するかによって、必要に応じてアドレスま
たは値を含む。
経路を示す管理パラメータ、またはメモリの管理及び使
用に必要な任意の他のタイプの情報を含む。
ら出発してメモリ全体を移動しながら、処理システム
は、関数が“1”となる積を再構成し得る。即ち処理シ
ステムは、木及びその種々のノードを再構成し得る。
移動するか又はメモリ内を移動しても関数のプライムイ
ンプリカントを見いだすことはできないことに留意され
たい。本発明によれば、ブール関数の2進決定ダイヤグ
ラムを使用して、関数のプライムインプリカントを暗黙
的に与えるダイヤグラムを生成し得る。
(x1,・・・,xn)を使用し、そのプライムインプリ
カントのダイヤグラムには対応する出現変数(O1,・
・・,On)及び符号変数(S1,・・・,Sn)を使用
して考える。
O1<S1<O2<S2<・・・<On<Snの順位を有する
と仮定する。
のダイヤグラムを見付けるのに必要な変換を行なうと、
ノードを構成することになる。
y=Nd(x,L,H)は、処理システムがそのメモリ
内に、ラベルが変数xであり、左側の枝つまり低値枝が
Lであり、右側の枝つまり高値枝がHであるノードを構
成し、このノードを変数yによって識別することを意味
している。
H)=yは、ノードyをそのルートつまり変数x、左側
枝L及び右側枝Hに分解することを意味する。
下のオペレーションを実施する。
ると、低値枝Lが高値枝Hに等しいか判定する。そうで
あるならば、ルートがxであり、低値及び高値枝がそれ
ぞれL及びHであるノードを構成する代わりに、単にL
(またはH)からなるこれらの枝の一方を戻す。それ
は、勿論、終点葉(L=H=0または1の場合)または
ノードもしくはノードの集合であり得る。
モリ内で、構築中のノードが既にそこに存在するか検証
する。もし存在するならば、このノードを直接戻し、そ
のアドレスをメモリ内に記憶する。
上述のごとくアドレスは空けたままでそのノードをメモ
リ内に構築する。
のない上記動作によって、メモリ及び後続オペレーショ
ン時間が節約される。
リカントの暗黙表現を構築し得る関数、即ちブール関数
(f)の変数x1,・・・,xnを有する構造をPRIM
E(f)と称する。この関数PRIME(f)によっ
て、出現変数O1,・・・,On及び符号変数S1,・・
・Snのみからなる表現を得ることができる。
れる。f=0であるならばPRIME(f)=0であ
り、f=1であるならばPRIME(f)=1である。
そうでないならば(fは0でも1でもない)、これは、
fがルートxk、低値枝L及び高値枝Hを有するノード
の形式で存在することを意味する。上述の規約を使用す
るとこれはNd(xk,L,H)=fと書くことができ
る。
数PRIMEは、ノードNd(Ok,P,P’)を正規
化する関数NORMEを呼び出す。後述するように、ノ
ードNd(Ok,P,P’)のルートは、対応する2進
決定ダイヤグラムのルート変数xkに従属する出現変数
Okであり、低値枝は、先行の再帰の間に構築された暗
黙表現Pであり、高値枝は、先行の再帰の間に得られた
要素を使用して構築された別の暗黙表現P’である。従
って、 PRIME(f)=NORME(Ok,P,P’) と書くことができる。
変数であり、P及びP’が暗黙表現である関数NORM
E(Ok,P,P’)は、既に述べたように先行の再帰
の間に得られた値P及びP’についての一連の判定から
出発する。
終結果はNORME(Ok,P,P’)=Pである。P
=0であるならば、関数NORMEによって、 NORME(Ok ,P,P’)=P’ なる結果を得ることができる。
証されなければ、 NORME(Ok ,P,P’)=Nd(Ok ,P,
P’) で定義されるノードが得られる。
れた後に、正規化されたノードがメモリ内に構築され
る。これは、メモリ使用量及び処理の高速化において特
に経済的である。
するかを示す。図の左側部分は、この関数が使用されな
かった場合に得られるノードを示している。例えば、ル
ートは出現変数Okであって、Okは、低値枝によって値
0の終点葉に接続されており、高値枝によって別のノー
ドに接続されている。この別のノードのルートはSk、
低値枝はL、そして高値枝はHである。このダイヤグラ
ムに適用されるプライム関数によって呼び出される関数
NORMEによって、ルートが符号変数Skであり且つ
低値枝L及び高値枝Hを有する図3の右側に示したノー
ドを限定的に得ることができ、左側部分の表現はメモリ
内に構築されない。
値枝の代わりに、高値枝と同一のノードv=Nd
(Sk,L,H)がある場合にも同じことが言える。
について単一判定が行われる。この判定結果が否定であ
るならば、関数NORMEは、結果: NORME(Ok ,P,P’)=Nd(Ok ,P,
P’) を与える。
=P’であるかが判定される。もしそうであるならば、
与えられる結果はNORME(Ok,P,P’)=Pで
あり、そうでないならばNORME(Ok,P,P’)
=Nd(Ok,P,P’)である。
P’=0であるかが判定される。もしそうであるなら
ば、結果はNORME(Ok,P,P’)=Pであり、
そうでないならばNORME(Ok,P,P’)=Nd
(Ok,P,P’)である。
=0であるかが判定される。もしそうであるならば、結
果はNORME(Ok,P,P’)=P’であり、そう
でないならばNORME(Ok,P,P’)=Nd
(Ok,P,P’)である。
の第1条件が検証された場合には適当な結果を与え、第
1条件が検証されなければ第2条件を与え、第2条件が
検証されなければ結果NORME(Ok,P,P’)=
Nd(Ok,P,P’)を与えるという他の変形例も考
え得る。
以下のようになり得る。第1判定で例えばP=P’であ
るか判定し、もしそうならばNORME(Ok,P,
P’)=Pの結果を与え、そうでないならば第2判定で
例えばP=0であるか判定し、もしそうならばNORM
E(Ok,P,P’)=P’の結果を与え、そうでない
ならばNORME(Ok,P,P’)=Nd(Ok,P,
P’)の結果を与える。
造は好ましい実施モードを使用したならば正規化される
であろう点で効果が十分ではない。
例は、サイズの小さいグラフに適用可能である。
(L=H)で定義される。これは、P自体が、最近記載
されている規則を適用し、2進決定ダイヤグラムによっ
て与えられる関数fの低値枝L及び高値枝Hの論理積に
おける再帰によって得られることを示している。即ち低
値枝Pは、関数の高値及び低値の2つの部分の論理積の
プライムインプリカントの暗黙表現からなる。尚、2進
決定ダイアグラムで表された2つの論理関数の論理積自
体は、Randal E. Bryantによる論文
「Graph−Based Algorithms f
or Boolean Function Manip
ulation」 (IEEE TRANSACTIO
NDS ON COMPUTERS VOL. C−
35. No.8. 1986年8月)に記載されてい
る方法に従って求めることができる。
(H),P}] で定義されるノードからなる。
(L),P},MINUS{PRIME(H),P}]) である。
つNORME関数の適用して得られた結果を先行の再帰
において考慮できるようにする中間関数である。この関
数については後述する。
は、それらの生成のために、関数fの低値枝Lのプライ
ムインプリカントPRIME(L)を暗示するダイヤグ
ラム、関数の高値枝HのプライムインプリカントPRI
ME(H)を暗示するダイヤグラム、そして最後に、関
数の高値枝及び低値枝の論理積のプライムインプリカン
トPRIME(L∧H)を暗示するダイヤグラムを事前
に構築する必要があることが判る。
(L)、PRIME(H)及びPRIME(L∧H)の
構築には、関数fの2進決定ダイヤグラムを再帰的に一
覧することが必要である。しかしながら、従来技術で行
われていたこととは対照的に、再帰の間に構築された要
素は、特殊関数NORME及びMINUSを使用するた
めに構造中に即座に組み込まれるが故に、本発明では中
間ダイヤグラムの構築を必要としない。次に、関数NO
RME及びMINUSについて説明する。
から構築された暗黙表現に適用される。
関数を高値枝もしくは低値枝またはこれら2つの組合せ
に適用することにより得られた暗黙表現に適用される。
は、ノードまたは値が0もしくは1の変数である。ノー
ドであるならば、そのルートは出現変数または符号変数
のいずれかである。
用された関数MINUSはMINUS(P,P’)と書
くことができ、P及びP’の相対値を見いだす判定から
開始する。
びP’に適用された関数MINUSの結果はMINUS
(P,P’)=0である。
るならば、関数MINUSの結果はMINUS(P,
P’)=Pである。
らば、ノードP及びP’は、ルートv,V’、左側また
は低値枝L,L’及び右側または高値枝H,H’に分解
され、これは前述の規約を使用してNd(v,L,H)
=P及びNd(v’,L’,H’)=P’と書くことが
できる。
びv’の特性及び順位を決定する判定が行われる。実
際、関数MINUSは、得られた結果に従って異なる規
則を適用する。
あるならば、即ちv=Ok及びv’=Ok’であるなら
ば、順位k及びk’を決定する判定が行われる。kが
k’より小さいならば、P及びP’に適用された関数M
INUSの結果は、 MINUS(P,P')=NORME(Ok,MINUS(L),P',H) となる。
慮された第1ノードPのルートである変数Okであり、
ノードの左側つまり低値枝は、一方では考慮された第1
ノードPの左側枝Lに、他方では第2ノードP’に適用
された関数MINUSの結果であり、右側つまり高値枝
は、関数MINUSによって暗示された第1ノードPの
高値枝Hであるノードを正規化している。関数MINU
S自体は、得られた要素の1つがこの同じ関数を幾つか
の中間要素に適用することにより得られているので、再
帰計算を必要とすることが判る。
結果は、ルートが変数Okであり、左側つまり低値枝
が、MINUS関数によって暗示されたノードP,P’
の低値枝L,L’にそれぞれ適用された関数MINUS
の結果であり、右側つまり高値枝が、関数MINUSに
よって暗示された2つのノードP,P’の高値枝H,
H’にそれぞれ適用された関数MINUS2の結果であ
るノードに適用された関数NORMEの結果である。。
る。従って、関数MINUSの結果は、 MINUS(P,P’)=NORME[Ok,MINUS(L,L'),MINUS2
(H,H')] と書くことができる。
いずれも検証されなければ、P及びP’に適用された関
数MIMUSの結果は、関数MINUSを、関数MIM
USによって暗示された第1ノードPに、及び関数MI
MUSによって暗示された第2ノードP’の低値枝L’
に適用することにより得られ、これは、 MIMUS(P,P’)=MIMUS(P,L’) と書くことができる。
りvは出現変数であり(v=Ok)v’は符号変数であ
る(v’=Sk’)ことが明らかになった場合、k及び
k’の順位を判定する。
k、即ち関数MINUSによって暗示された第1ノード
Pのルート変数であり、左側つまり低値枝が、第1ノー
ドPの左側つまり低値枝L及び第2ノードP’に適用さ
れた関数MINUSの結果であり、高値つまり右側枝
が、第1ノードPの高値枝Hであるノードを正規化す
る。これは、 MINUS(P,P')=NORME(Ok,MINUS(L,P'),H) と書くことができる。
となった場合には、ルートが関数MINUSによって暗
示された第1ノードPの変数Okであり、低値つまり左
側枝が第1ノードPの低値枝Lであり、高値枝が、第1
ノードPの高値枝H及び第2ノードP’に適用された関
数MINUS2の結果であるノードを正規化する。これ
は、 MINUS(P,P')=NORME(Ok,L,MINUS2(H,P')) と書くことができる。
否であった場合は、関数MINUSの結果は第1ノード
P自体である。これは、 MINUS(P,P’)=P と書くことができる。
vが符号変数であり(v=Sk )、v’が出現変数であ
る(v’=Ok ’)ことが明らかとなり得る。この場
合、kがk’より小さいと判定されたならば、関数MI
NUSの結果は関数MINUSによって暗示された第1
ノードPである。これは、 MINUS(P,P’)=P と書くことができる。
結果は、第1ノードP及び第2ノードP’の高値つまり
右側枝H’にそれぞれ適用された関数MINUS2であ
る。これは、 MINUS(P,P’)=MINUS2(P,H’) と書くことができる。
されなかった場合には、関数MINUSを第1ノードP
及び第2のP’の左側つまり低値枝L’に適用すること
により結果が得られる。これは、 MINUS(P,P’)=MINUS(P,L’) と書くことができる。
って暗示された2つのノードP及びP’のルート変数v
及びv’が符号変数である(v=Sk ,v’=Sk ’)
ことが明らかとなり得る。この場合に更に、k及びk’
についての判定からkがk’と等しいことが明らかとな
ったならば、関数MINUSの結果は、ルート変数がS
k 、即ち関数MINUSによって暗示されたいずれかの
ノードのルートであり、左側つまり低値枝は、暗示され
た2つのノードP,P’の低値枝L,L’にそれぞれ適
用された関数MINUSの結果であり、高値つまり右側
枝は、暗示された2つのノードの高値つまり右側枝H,
H’に関数MINUSをそれぞれ適用することにより得
られたノードである。これは、 MINUS(P,P')=Nd[Sk,MINUS(L,L'),MINUS(H,
H')) と書くことができる。
た条件が検証されなかった場合、関数MINUSの結果
は暗示された第1ノードPである。これは、 MINUS(P,P’)=P と書くことができる。
自体が暗黙表現である要素に適用されるMINUS2と
称される関数を使用する必要があることは既に述べた。
と、これらの要素に適用される関数MINUS2は、 MINUS2(P,P’) と書くことができる。
ら開始する。PがP’と同一であることが確証されたな
ら、関数MINUS2の結果は変数“0”である。関数
MINUS2において暗示された2つのノードP及び
P’が等しいことが検証されなかった場合には、これら
2つのノードはそれぞれ、ルートSk,Sk’、左側つま
り低値枝L,L’及び高値つまり右側枝H,H’に分解
される。これは、 Nd(Sk,L,H)=P 及び Nd(Sk',L,H)=P' と書くことができる。
ノードPのルート変数Skであり、低値つまり左側枝
が、関数MINUS2によって暗示された2つのノード
P,P’の各々の低値つまり左側枝L,L’に適用され
たMINUS関数の結果であり、高値つまり右側枝が、
関数MINUS2によって暗示された2つのノードP,
P’の各々の高値枝H,H’に適用されたMINUS関
数の結果であるノードである。これは、 MINUS2(P,P')=Nd[Sk,MINUS(L,L'),MINUS
(H,H')] と書くことができる。
の変数v及びv’の特性及び順位を考慮するが故に、関
数MINUS及びMINUS2によって極めて単純化さ
れた結果を得ることができる。従来技術の方法ではこの
ような単純化を達成することはできない。
ムにおけるプライムインプリカントの暗黙表現が生成さ
れる経路を順番に示すものである。
匹敵する方法を使用するという前提で、計算処理の終わ
りにプロセッサのメモリがどのように構成されているか
を示している。
決定ダイヤグラムの形式で与えられた関数のプライムイ
ンプリカントの暗黙表現を生成するためには、その関数
の高値枝及び低値枝の各々のプライムインプリカントの
暗黙表現を再帰的に生成する必要があることが判る。
単純化規則によって、適当なサイズの中間表現を得るこ
とができる。
た3つの図を示す。この図の左側部分は、図1において
円で囲まれた高値枝Hを表わす。この高値枝は、ルート
変数がx2であり、低値枝Lが変数0であり、そして高
値枝Hが変数1であるノードからなる。この枝のプライ
ムインプリカントの暗黙表現を計算するために知る必要
がある2つの枝の論理積L∧Hの結果は0である。関数
NORMEを適用すると、ノードNd(S2,0,1)
が得られ、これが、図1の2進決定ダイヤグラムの高値
部分のプライムインプリカントの暗黙表現である。この
ノードは図4の右側に示してある。
値部分Lを示している。この低値部分自体は、値が定数
1である低値部分Lと、ノードNd(x3,0,1)か
らなる高値部分Hとを含んでいる。低値部分Lは値が1
の定数からなるので、この図の高値部分と低値部分との
論理積L∧Hは高値部分を形成するノードを与える。即
ち、 L∧H=Nd(x3,0,1) である。
ラベルの順位において、図1における高値枝を与えるも
のと同一である。即ち、そのプライムインプリカントの
暗黙表現は、 PRIME(L∧H)=Nd(S3,0,1) である。
含む関数PRIMEを適用することによって、 PRIME(L(fig.1))=Nd[O2,Nd(S3,0,1),Nd
(S2,1,0))] からなる図5に下位部分を示した、図1のダイヤグラム
の低値部分のプライムインプリカントの暗黙表現に到達
することができる。
理積を表わす図である。これは、ルートがx2であり、
低値枝が定数0であり、高値枝がノードNd(x3,
0,1)であるノードを示している。後者は、図5の高
値枝または同じ図5の低値枝と高値枝の論理積と同一で
あることが判る。従って、処理システムは、メモリを一
覧して、そのプライムインプリカントの暗黙表現の計算
が既に行われていることを判定し、従ってそれを再実行
しない。
定数0となる。
ので、図6の要素のプライムインプリカントの暗黙表現
は図7の左側に表したものとなる。関数NORMEが存
在するために、高値枝と低値枝の論理積のプライムイン
プリカントの暗黙表現は、同じ図7の右側部分に表した
ノード、即ちノード: Nd(S2 ,0,Nd(S3 ,0,1)) である。
同一ノード間の余剰を避ける判定を行なった場合に得ら
れる図1のダイヤグラムのプライムインプリカントの中
間暗黙表現を示している。
図7に表された中間表現に適用することから得られる。
を形成するノードは、関数MINUS及びMINUS2
を中間表現の所定の要素に適用した後に決定される。
たノードNd(S3,0,1)を2回使用していること
が判る。
とラベルS2の高値枝とに関係していることが判る。こ
の理由により、このノードを2回構築するのではなくて
1回だけ構築し、ラベルS3が2つの異なる変数O2,S
2によってプロットされている図9に従う構成に到達す
る。
うな概観を有する、即ちルート01から構成され、この
場合には値が0または1である終点葉を終点とする経路
を有するダイヤグラムが得られることにおいて図1のも
のと同様である。
って、値が1の葉に向かって進むと、関連関数のプライ
ムインプリカントを見いだすことができる。
経路を記憶するためのメモリ管理が備えられている。
が見いだされ、関数のプライムインプリカントを与える
4つの積が構成され得る。
ができ、これは、出現変数O1は否であってx1は積の一
部ではなく、関連プライムインプリカントは積x2x3で
あることを意味する。第2経路はO1,S1*,O2*,
S3であり、これは要するに関連プライムインプリカン
トが積x1*x3であることを意味する。
り、これは、関連プライムインプリカントが積x1*x2
*であることを意味する。最後に、第4経路はO1,
S1,S2であり、これは、関連プライムインプリカント
がx1x2であることを意味する。
関数fのプライムインプリカントの暗黙表現についての
情報を受容するように設計されたメモリ部分がどのよう
に充填されるかを示している。
述したものと同様であると仮定する。メモリゾーン内の
アドレスAdnに割当てられた各ワードは4つのフィー
ルド、即ち、それが含む変数の特性及び順位についての
情報を受容する第1フィールドVAR、従属する低値枝
のアドレスまたは値を示す第2フィールドINDL、従
属する高値枝のアドレスまたは値を示す第3フィールド
INDH、そして最後に、例えばメモリ管理パラメータ
を含む第4フィールドGESTに分割され得る。
に割り当てられたワードは、例えば、図1の関数の高値
部Hのプライムインプリカントの暗黙表現に対応するノ
ードNd(S2,0,1)を含む。このノードについて
は図4の説明で明らかにした。アドレスAd2にある第
2ワードは、図5で明らかにしたノードNd(S3,
0,1)を含む。アドレスAd3にある第3ワードは、
図1に示した関数の低値部のプライムインプリカントの
暗黙表現を与えるノードを再構成し得る情報を含む。ル
ートがO2であるこのノードについては図5の説明で明
らかにした。その低値枝はノード(S3,0,1)であ
り、その表現は既にアドレスAd2にある第2ワードに
含まれている。従って、この第3ワードの第2フィール
ドINDLは、低値枝がアドレスAd2のワードからなる
という情報を含んでおり、このことで既存のノードの再
構築を避けている。
2,1,0)からなり、アドレスAd4のワードに入れら
れ、その情報は、システムがアドレスAd4を指定し得
るように第3ワードのフィールドINDHにも入れられ
る。
の高値部及び低値部の論理積を与える関数のプライムイ
ンプリカント(L∧H)の暗黙表現についての情報を含
む。
は、ルートが符号変数S2であり、低値部が定数0であ
り、そして高値部がノードNd(S3,0,1)である
ノードである。この高値部は既に構築されていることが
判り、それはアドレスAd2に割り当てられたワードで
ある。従って、アドレスAd5のワード内にオペレーテ
ィングシステムは、ルート変数がS2であること及びフ
ィールドINDLを適当に充填することにより低値部が
定数0からなることを示すと共に、そのINDH中に
は、その高値部が構成されるノードを見つけ出すための
アドレスAd2を指定する必要がある。
てられた第6及び第7ワードは、図9に示した暗黙表現
の生成を終了するための情報を含む。
1の関数のプライムインプリカントの暗黙表現のルート
O1を含む。この暗黙表現に従属する低値部は、既にメ
モリ内に書込まれている要素からなることが判る。この
情報は、既に完成されている第5ワード内に含まれてお
り、それを繰返す必要はない。従ってフィールドIND
LはアドレスAd5へのリターンを含む。
あるノードはまだ完全には与えられておらず、この高値
部についての情報をメモリ内のアドレスAd7に書込む
必要がある。従って、アドレスAd6のフィールドIN
DHはアドレスAd7への分岐を示す。そうして、アドレ
スAd7に割り当てられたワード内には、この高値部を
形成するノードのラベル、即ち変数S1を書込む。しか
しながら、このノードの低値部及び高値部は既に構築さ
れている。低値部は、アドレスAd3にある第3ワード
に書込まれているノードからなる。従って、この第7ワ
ードのフィールドINDLはこのアドレスAd3へのリタ
ーンを含む。
ているアドレスAd1のノードからなることが判る。
例えば、対応するノードが暗黙表現のルートであるか中
間ノードであるかを示す。所与の時点でノードは中間表
現のルートを形成し、次いで構築物の中間要素となり得
るのであるから、このフィールドの内容は、グラフを作
製する際に変化し得ることを理解されたい。
けによりかかるパラメータを管理するのは処理システム
である。
イムインプリカントの暗黙表現を与えるようにメモリを
構築し得る方法の非限定的な例にすぎない。
は、管理パラメータは、変化し得るが故に、各ワードに
従属するフィールド内に格納される代わりに処理システ
ムによって特定のメモリゾーン内に格納及び管理され
る。
能力内である。
の判定によって、従来の方法を用いて得られる表現と比
較して20分の1に縮小されたメモリスペースしか占め
ないプライムインプリカントの暗黙表現を得ることがで
きる。2進決定ダイヤグラムの定義において暗示される
変数の数が大きいほど、従来方法の使用と比較した相対
利益はより優れたものとなる。これは、2進決定ダイヤ
グラムのサイズが大きい場合にはメモリ飽和の危険性が
大きく、メモリの使用量の少ない方法を使用すべきであ
るので、本発明が実際に重要であることを示している。
IME、MINUS、MINUS2をまとめて示すもの
である。
範囲内で可能である。従って、特許請求の範囲の内で、
上述の実施例及び実施態様のほかにも本発明が実現され
得ることが理解される。
であり、この関数PRIMEの結果はそのプライムイン
プリカントの暗黙表現である。
られる関数のプライムインプリカントの暗黙表現に対す
る構築規則を決定する関係式: PRIME(f)=NORME[Ok,P,Nd(Sk,MINUS{PRIME
(L),P},MINUS{PRIME(H),P})]において、 1)f=0であるならば、PRIME(f)=0であ
り; 2)f=1であるならば、PRIME(f)=1であ
り; 3)上記いずれでもないならば、Nd(xk,L,H)
=f及びP=PRIME(L∧H)である。
ましい実施例) NORME(x,P,P’)において、xは変数であり、
P及びP’は暗黙表現である。
ば、NORME(x,P,P’)=Pであり; 2)P=0であるならば、NORME(x,P,P’)
=P’であり; 3)上記いずれでもないならば、NORME(x,P,
P’)=Nd(x,P,P’)である。
である〕は暗黙表現を生成する。
MINUS(P,P’)=Pであり; 2)P=1またはP’=0またはP’=1であるなら
ば、MINUS(P,P’)=Pであり; 3)上記いずれでもなく、Nd(v,L,H)=P及び
Nd(V’,L’,H’)であり、 A)v=Ok及びv’=Ok’であり、 1.k<k’であるならば、 MINUS(P,P')=NORME(Ok,MINUS(L,P’),H)で
あり; 2.k=k’であるならば、 MINUS(P,P')=NORME(Ok,MINUS(L,L’),MINUS
2(H,H'))であり; 3.上記いずれでもないならば、 MINUS(P,P’)=MINUS(P,L’)であり; B)v=Ok及びv’=Skであり、 1.k<k’であるならば、 MINUS(P,P’)=NORME(Ok,MINUS(L,P’),H)
であり; 2.k=k’であるならば、 MINUS(P,P’)=NORME(Ok,L,MINUS2(H,
P’))であり; 3.上記いずれでもないならば、 MINUS(P,P’)=Pであり; C)v=Sk及びv’=Okであり、 1.k<k’であるならば、 MINUS(P,P’)=Pであり; 2.k=k’であるならば、 MINUS(P,P’)=MINUS2(P,H’)であり; 3.上記いずれでもないならば、 MINUS(P,P’)=MINUS(P,L’)であり; D)v=Sk及びv’=Skであり、 1.k=k’であるならば、 MINUS(P,P')=Nd[Sk,MINUS(L,L'),MINUS(H,
H')]であり; 2.そうでないならば、 MINUS(P,P’)=Pである。
現である〕は暗黙表現を生成する。
(P,P’)=0であり; 2)そうではなく、Nd(Sk,L,H)=P且つNd
(Sk’,L’,H’)=P’であるならば、 MINUS2(P,P')=Nd[Sk,MINUS(L,L'),MINUS
(H,H')]である。
純化した形式でも表わし得る。
ば、MINUS(P,P’)=0であり; 2)P=1またはP’=1またはP’=0であるなら
ば、MINUS(P,P’)=Pであり; 3)Nd(v,L,H)=P及びNd(v’,L’,
H’)=P’であり、 A)k<k’であり、 i)v=Ok(vは出現変数である)であるならば、 MINUS(P,P')=NORME[Ok,MINUS(L,P'),H]であ
り; ii)そうでないならば、 MINUS(P,P')=Pであり; B)k>k’であり、 i)v’=Ok’(v’は出現変数である)であるなら
ば、 MINUS(P,P')=MINUS(P,L')であり; ii)そうでないならば、 MINUS(P,P')=Pであり; C)v=Ok(vは出現変数である)であり、 i)v’=Ok’であるならば、 MINUS(P,P')=NORME[Ok,MINUS(L,L'),MINUS2
(H,H')]であり; ii)そうでないならば、 MINUS(P,P’)=NORME[Ok,L,MINUS2(H,P')]
であり; D)以上のいずれでもなく、 i)v’=Ok’であるならば、 MINUS(P,P')=MINUS2(P,H')であり; ii)そうでないならば、 MINUS(P,P')=Nd[Sk,MINUS(L,L'),MINUS(H,
H')]である。
式図である。
む情報をどのように含んで構成され得るかを示す図であ
る。
暗黙表現を生成するステップの1つの模式図である。
暗黙表現を生成するステップの1つの模式図である。
暗黙表現を生成するステップの1つの模式図である。
暗黙表現を生成するステップの1つの模式図である。
暗黙表現を生成するステップの1つの模式図である。
暗黙表現を生成するステップの1つの模式図である。
含む情報をどのように含んで構成され得るかを示す図で
ある。
Claims (13)
- 【請求項1】 データ処理装置を使用し、該装置のメモ
リゾーン内に最初は2進決定ダイヤグラム(f)の形態
で与えられたブール関数のプライムインプリカントの暗
黙表現(PRIME(f))を、該装置の別のメモリゾ
ーン内に生成する自動方法であって、前記ダイヤグラム
を再帰的に移動して中間要素を決定し、各再帰のあとに
前記中間要素を組合せることにより、前記決定ダイヤグ
ラムを形成する情報から暗黙表現を生成することからな
り、前記中間要素の各々が、前記決定ダイヤグラムの命
題変数(x1,・・・,xn)の各々に対応する出現変数
(O1,・・・,On)及び符号変数(S1,・・・,
Sn)を使用し、前記中間要素が生成されたときにそれ
らを正規化してメモリ使用量を少なくする手段と、正規
化後の中間要素を組み合わせる手段とを使用することを
特徴とする自動方法。 - 【請求項2】 前記ブール関数の2進決定ダイヤグラム
が公知の方法においてノードNd(xk,L,H)〔こ
こでxkはラベルまたはルート変数であり、Lは前記ラ
ベルに従属する低値枝であり、Hは前記ラベルに従属す
る高値枝である〕を形成しており、前記関数のプライム
インプリカントの暗黙表現を得るために、 前記ノードをその低値枝L及び高値枝Hに分解し、 前記枝の各々のプライムインプリカントの正規化暗黙表
現を得、 前記2つの枝の論理積に従属する2進決定ダイヤグラム
(L∧H)を見付け出し、 前記論理積のプライムインプリカントの正規化暗黙表現
を得、 前記正規化暗黙表現を設定規則に従って組合せて結果を
得、 生成された結果を正規化することからなる請求項1に記
載の方法。 - 【請求項3】 ノードの各枝(L,H)及びそれらの積
(L∧H)は、最終的には論理値0または1を有する終
点葉に達するラベル(xi)を有するノードの組合せか
らなり得、前記枝またはそれらの積のプライムインプリ
カントの暗黙表現を得るために、このように組合わされ
た各ノードについて再帰的な経路をとることからなる請
求項2に記載の方法。 - 【請求項4】 ルートがxkであり、低値枝がLであ
り、そして高値枝がHである第1ノード(f)のプライ
ムインプリカントの暗黙表現(PRIME(f))を、
式: PRIME(f)=NORME[Ok,P,Nd(Sk,MINUS{PRIME
(L),P},MINUS{PRIME(H),P}) ]〔式中、PRIME(0)=0,PRIME(1)=
1であり、P=PRIME(L∧H)は、問題のノード
の低値枝L及び高値枝Hの論理積のプライムインプリカ
ントの暗黙表現を構成する第2ノードであり、 Nd(“変数”,A,B)は、ラベルが要素“変数”で
あり、低値枝が要素Aであり、高値枝が要素Bであるノ
ードを形成し、 NORMEは、ノードの正規化形式を得るための関数で
あり、 MINUSは、2つの正規化形式に適用して暗黙表現を
得ることのできる関数である〕に従って構築する請求項
2または3に記載の方法。 - 【請求項5】 前記関数NORME(x,P,P’)
〔但し、xは変数であり、P及びP’は2つの暗黙表現
である〕が、前記2つの暗黙表現を比較してそれらの値
を決定する判定を行ない、次いで前記判定の結果に従っ
て、 P=P’またはP’=0であるならば、NORME
(x,P,P’)=Pであり;P=0であるならば、N
ORME(x,P,P’)=P’であり;上記のいずれ
でもないならば、NORME(x,P,P’)=Nd
(x,P,P’)であるという正規化結果のいずれかを
与える請求項4に記載の方法。 - 【請求項6】 前記関数NORME(x,P,P’)
〔但し、xは変数であり、P及びP’は2つの暗黙表現
である〕が、前記2つの暗黙表現を比較してそれらの値
を見付け出す第1判定を行ない、次いで前記判定の結果
に従って、 P=P’であるならば、NORME(x,P,P’)=
Pであり;そうでないならば、NORME(x,P,
P’)=Nd(x,P,P’)であるという正規化結果
のいずれかを与える請求項4に記載の方法。 - 【請求項7】 前記関数NORME(x,P,P’)
〔但し、xは変数であり、P及びP’は2つの暗黙表現
である〕が、前記2つの暗黙表現を比較してそれらの値
を見付け出す第1判定を行ない、次いで前記判定の結果
に従って、 P=0であるならば、NORME(x,P,P’)=
P’であり;そうでないならば、NORME(x,P,
P’)=Nd(x,P,P’)であるという正規化結果
のいずれかを与える請求項4に記載の方法。 - 【請求項8】 暗黙表現を生成する前記関数MINUS
(P,P’)〔但し、P及びP’は暗黙表現である〕
が、前記2つの暗黙表現を比較してそれらの値を見付け
出す第2判定を行ない、次いで前記判定の結果に従っ
て、 P=P’または(P=0)であるならば、MINUS
(P,P’)=0であり;P=1またはP’=0または
P’=1であるならば、MINUS(P,P’)=P)
であるという結果のいずれかを与える請求項4に記載の
方法。 - 【請求項9】 前記第2判定の結果が、PがP’とは異
なり、PとP’が同時には終点枝とならない、即ち2つ
の別個のノードであることを示した場合、前記関数MI
NUSが、 前記ノードPをそのルート(v)、低値枝L及び高値枝
Hに分解し、 前記ノードP’をそのルート(v’)、低値枝L’及び
高値枝H’に分解し、 前記ルート(v,v’)が出現変数であるかまたは符号
変数であるか判定し、 それらの順位を判定し、 次いで前記2つの判定結果に従って、 A)v=Ok且つv’v’=Ok’であり、 1.k<k’であるならば、 MINUS(P,P')=NORME(Ok,MINUS(L,P'),H)で
あり; 2.k=k’であるならば、 MINUS(P,P')=NORME(Ok,MINUS(L,L'),MINUS2
(H,H'))であり; 3.そうでないならば、 MINUS(P,P')=MINUS(P,L')であり; B)v=Ok且つv’=Sk’であり、 1.k<k’であるならば、 MINUS(P,P')=NORME(Ok,MINUS(L,P'),H)で
あり; 2.k=k’であるならば、 MINUS(P,P')=NORME(Ok,L,MINUS2(H,P'))で
あり; 3.そうでないならば、 MINUS(P,P')=Pであり; C)v=Sk且つv’=Ok’であり、 1.k<k’であるならば、 MINUS(P,P')=Pであり; 2.k=k’であるならば、 MINUS(P,P')=MINUS2(P,H')であり; 3.そうでないならば、 MINUS(P,P')=MINUS(P,L')であり; D)v=Sk且つv’=Sk’であり、 1.k=k’であるならば、 MINUS(P,P')=Nd[Sk,MINUS(L,L'),MINUS(H,
H')]であり; 2.そうでないならば、 MINUS(P,P')=Pである という結果を生成する請求項8に記載の方法。 - 【請求項10】 前記第2判定の結果が、PがP’とは
異なり、PとP’は同時には終点枝とならない、即ち2
つの別個のノードであることを示した場合、前記関数M
INUSが、 前記ノードPをそのルート(v)、低値枝L及び高値枝
Hに分解し、 前記ノードP’をそのルート(v’)、低値枝L’及び
高値枝H’に分解し、 前記ルート(v,v’)が出現変数であるかまたは符号
変数であるか判定し、 それらの順位を判定し、 次いで前記2つの判定結果に従って、 A)k<k’であり、 i)v=Ok(vは出現変数である)であるならば、 MINUS(P,P')=NORME[Ok,MINUS(L,P'),H]で
あり; ii)そうでないならば、 MINUS(P,P')=Pであり; B)k>k’であり、 i)v’=Ok’(v’は出現変数である)であるなら
ば、 MINUS(P,P')=MINUS(P,P')であり; ii)そうでないならば、 MINUS(P,P')=Pであり; C)v=Ok(vは出現変数である)であり、 i)v’=Ok’(v’は出現変数である)であるなら
ば、 MINUS(P,P')=NORME[Ok,MINUS(L,L'),MINUS2
(H,H')]であり; ii)そうでないならば、 MINUS(P,P')=NORME[Ok,L,MINUS2(H,P')]で
あり; D)上記以外であり、 i)v’=Ok’であるならば、 MINUS(P,P')=MINUS2(P,H')]であり; ii)そうでないならば、 MINUS(P,P')=Nd[Sk,MINUS(L,L'),MINUS(H,
H')]である という結果を生成する請求項8に記載の方法。 - 【請求項11】 暗黙表現を生成する前記関数MINU
S2(P,P’)〔但しP及びP’は暗黙表現である〕
が、前記2つの暗黙表現を比較する最終判定を行ない、
前記判定の結果に従って、 P=P’であるならば、MINUS2(P,P’)=0
であり; そうでないならば、ノードPをそのルート(Sk)、低
値枝L及び高値枝Hに分解し、ノードP’をそのルート
(Sk’)、低値枝L’及び高値枝H’に分解し、 Nd(Sk,L,H)=P及びNd(Sk’,L’,
H’)=P’とし、従ってMINUS2(P,P’)=
Nd[Sk,MINUS(L,L’),MINUS
(H,H’)]である請求項9または10に記載の方
法。 - 【請求項12】 前記処理システムが、新たなノードの
パラメータを決定してから、そのノードが既にメモリ内
に存在しているか判定し、もしそうであるならば、既に
構築されている該ノードを再使用するためのデータをメ
モリに入れる請求項1から11のいずれか一項に記載の
方法。 - 【請求項13】 請求項1から12のいずれか一項に記
載の方法を実施する手段を含むことを特徴とするデータ
処理システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR929205239A FR2690541B1 (fr) | 1992-04-28 | 1992-04-28 | Procede d'elaboration automatique d'une representation implicite des impliquants premiers d'une fonction. |
FR9205239 | 1992-04-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0659892A JPH0659892A (ja) | 1994-03-04 |
JP2534190B2 true JP2534190B2 (ja) | 1996-09-11 |
Family
ID=9429338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5103108A Expired - Lifetime JP2534190B2 (ja) | 1992-04-28 | 1993-04-28 | 関数のプライムインプリカントの暗黙表現を自動的に生成する方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5434794A (ja) |
EP (1) | EP0568424B1 (ja) |
JP (1) | JP2534190B2 (ja) |
DE (1) | DE69329512T2 (ja) |
FR (1) | FR2690541B1 (ja) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2697652B1 (fr) * | 1992-10-30 | 1994-12-16 | Bull Sa | Procédé de détermination automatique des probabilités associées à une fonction booléenne. |
ATE206223T1 (de) * | 1993-09-17 | 2001-10-15 | Bull Sa | Verfahren zum automatischen beweisen |
US5522063A (en) * | 1993-09-27 | 1996-05-28 | Nec Usa, Inc. | Method of finding minimum-cost feedback-vertex sets for a graph for partial scan testing without exhaustive cycle enumeration |
US5517506A (en) * | 1994-03-28 | 1996-05-14 | Motorola, Inc. | Method and data processing system for testing circuits using boolean differences |
US5602753A (en) * | 1994-04-19 | 1997-02-11 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for estimating power dissipation and method and apparatus of determining layout/routing |
US5805462A (en) * | 1995-08-18 | 1998-09-08 | Vlsi Technology, Inc. | Automatic synthesis of integrated circuits employing boolean decomposition |
US5633803A (en) * | 1995-09-11 | 1997-05-27 | Vlsi Technology, Inc. | Process for the processing of specification data of logic functions of an application-specific integrated circuit |
US5748490A (en) * | 1995-10-26 | 1998-05-05 | Motorola, Inc. | Low power logic minimization for electrical circuits |
DE19701931C1 (de) * | 1997-01-21 | 1998-05-28 | Siemens Ag | Verfahren zur Detektion von Synchronizität zwischen mehreren digitalen Meßreihen mit Hilfe eines Rechners |
US6389576B1 (en) * | 1999-09-02 | 2002-05-14 | Sun Microsystems, Inc. | Method and apparatus for optimizing real functions in Boolean domain |
US6842750B2 (en) * | 2002-03-27 | 2005-01-11 | Lsi Logic Corporation | Symbolic simulation driven netlist simplification |
US7735027B2 (en) * | 2006-07-07 | 2010-06-08 | Siemens Product Lifecycle Management Software Inc. | Alignment of product representations |
US8050986B2 (en) * | 2006-07-07 | 2011-11-01 | Siemens Product Lifecycle Management Software Inc. | System and method for determining a quantity mismatch report |
US20120137108A1 (en) * | 2008-02-19 | 2012-05-31 | Koch Iii Kenneth Elmon | Systems and methods integrating boolean processing and memory |
JP5195149B2 (ja) * | 2008-08-11 | 2013-05-08 | 富士通株式会社 | 真偽判定方法 |
FR3006784B1 (fr) * | 2013-06-11 | 2015-07-03 | Inst Nat Rech Inf Automat | Procede et dispositif d'elaboration automatique d'un modele de comportement d'un appareil fournissant une interface cryptographique |
CN106642726A (zh) * | 2016-12-28 | 2017-05-10 | 湖南坤宇网络科技有限公司 | 一种基于决策树系统的锅炉气体热风炉故障预警方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3764788A (en) * | 1972-06-30 | 1973-10-09 | Ibm | Error checking circuit |
DE3172331D1 (en) * | 1981-06-25 | 1985-10-24 | Ibm | Method and device for transmitting logic signals between micro chips |
US4792909A (en) * | 1986-04-07 | 1988-12-20 | Xerox Corporation | Boolean logic layout generator |
US5243538B1 (en) * | 1989-08-09 | 1995-11-07 | Hitachi Ltd | Comparison and verification system for logic circuits and method thereof |
US5237513A (en) * | 1989-11-20 | 1993-08-17 | Massachusetts Institute Of Technology | Optimal integrated circuit generation |
-
1992
- 1992-04-28 FR FR929205239A patent/FR2690541B1/fr not_active Expired - Fee Related
-
1993
- 1993-04-22 DE DE69329512T patent/DE69329512T2/de not_active Expired - Lifetime
- 1993-04-22 EP EP93401055A patent/EP0568424B1/fr not_active Expired - Lifetime
- 1993-04-27 US US08/054,322 patent/US5434794A/en not_active Expired - Lifetime
- 1993-04-28 JP JP5103108A patent/JP2534190B2/ja not_active Expired - Lifetime
Non-Patent Citations (1)
Title |
---|
PROCEEDINGSOFTHE29THACM/IEEEDESIGNAUTOMATIONCONFERENCE,P.36−39,O.COUDERTETAL.,"IMPLICITANDINCREMENTALCOMPUTATIONOFPRIMESANDESSENTIALPRIMESOFBOOLEANFUNCTIONS" |
Also Published As
Publication number | Publication date |
---|---|
FR2690541A1 (fr) | 1993-10-29 |
FR2690541B1 (fr) | 1994-06-17 |
EP0568424A1 (fr) | 1993-11-03 |
JPH0659892A (ja) | 1994-03-04 |
US5434794A (en) | 1995-07-18 |
DE69329512T2 (de) | 2001-05-17 |
EP0568424B1 (fr) | 2000-10-04 |
DE69329512D1 (de) | 2000-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2534190B2 (ja) | 関数のプライムインプリカントの暗黙表現を自動的に生成する方法 | |
Cousot et al. | Automatic synthesis of optimal invariant assertions: Mathematical foundations | |
Niedermeier et al. | On efficient fixed-parameter algorithms for weighted vertex cover | |
US7620947B2 (en) | Enhanced directed graph representation for dependency systems | |
Soeken et al. | Embedding of large Boolean functions for reversible logic | |
JP3270459B2 (ja) | 単一化システム及び方法 | |
US8280836B2 (en) | Converting unordered graphs to oblivious read once ordered graph representation | |
Arponen et al. | Independent-cluster parametrizations of wave functions in model field theories. I. Introduction to their holomorphic representations | |
Thierry-Mieg et al. | Hierarchical set decision diagrams and regular models | |
Thathachar | On separating the read-k-times branching program hierarchy | |
CN109472364B (zh) | 量子程序的处理方法及装置、存储介质和电子装置 | |
Albion et al. | AFLT-type Selberg integrals | |
Zalka | Using Grover’s quantum algorithm for searching actual databases | |
US5796621A (en) | Circuit delay abstraction tool | |
Rushdi et al. | Derivation of all particular solutions of a ‘big’Boolean equation with applications in digital design | |
Larrauri et al. | Limiting probabilities of first order properties of random sparse graphs and hypergraphs | |
Matthews | Recursive function definition over coinductive types | |
US5905977A (en) | Method for automatic demonstration | |
Cockx et al. | Proof-relevant unification: Dependent pattern matching with only the axioms of your type theory | |
Hensel et al. | Coalgebraic theories of sequences in PVS | |
CN109614140B (zh) | 配置数据处理方法及装置、电子设备、存储介质 | |
Haddad et al. | Synthesis and analysis of product-form Petri nets | |
US5737242A (en) | Method for automatically determining probabilities associated with a Boolean function | |
Hojati et al. | Edge-Streett/edge-Rabin automata environment for formal verification using language containment | |
Sinha | Efficient reconstruction of depth three circuits with top fan-in two |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080627 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090627 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090627 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100627 Year of fee payment: 14 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110627 Year of fee payment: 15 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110627 Year of fee payment: 15 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120627 Year of fee payment: 16 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130627 Year of fee payment: 17 |
|
EXPY | Cancellation because of completion of term |