JPH06243168A - パターン探索装置 - Google Patents

パターン探索装置

Info

Publication number
JPH06243168A
JPH06243168A JP5030914A JP3091493A JPH06243168A JP H06243168 A JPH06243168 A JP H06243168A JP 5030914 A JP5030914 A JP 5030914A JP 3091493 A JP3091493 A JP 3091493A JP H06243168 A JPH06243168 A JP H06243168A
Authority
JP
Japan
Prior art keywords
search
pattern
code
graphically
block
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
JP5030914A
Other languages
English (en)
Inventor
Susumu Hamada
進 濱田
Masaru Araki
大 荒木
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP5030914A priority Critical patent/JPH06243168A/ja
Priority to US08/173,082 priority patent/US5587918A/en
Publication of JPH06243168A publication Critical patent/JPH06243168A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【目的】ノードの集合とノード間のアークからなるネッ
トワークとして表現される対象から、特定の探索パター
ンに合致する部分を効率的に探索できるパターン探索装
置を提供する。 【構成】探索パターンを図式的に記述する探索パターン
編集部11と、図式的に表現された探索パターンをコー
ド変換して探索用コードを生成する探索用コード生成部
13と、生成された探索用コードを受け取り、探索対象
15の中から該探索用コードとして表現された探索パタ
ーンに合致する部分を探索する探索エンジン14とから
なる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はパターン探索装置に係
り、特に対象システムの物理的構造あるいは動作モデル
がノードの集合とノード間のアークからなるネットワー
クとして表現される対象から、指定された特定の探索パ
ターンに合致する部分を探索するためのパターン探索装
置に関する。
【0002】
【従来の技術】対象システムの物理的構造あるいは動作
モデルがノードの集合とノード間のアークからなるネッ
トワークとして表現される探索対象から、ネットワーク
の内部で所望の部分構造を持つ特定の探索パターンに合
致する部分を探索するためのパターン探索装置が要求さ
れている。
【0003】具体的には、各種電子機器の電子回路ある
いは半導体素子の論理回路の設計において、全体の回路
図からある特定の繋がりを持つ構造を抽出したり、不具
合部分を同定するといった操作、あるいは各種プラント
の故障診断や電力系統の事故診断などにおいて、システ
ム全体の系統図から事故発生部分を同定するといった操
作がここでいうパターン探索に相当する。このパターン
探索を行なうパターン探索装置は、これらの作業を自動
的に行なう推論システムとして利用される。
【0004】電子回路や論理回路の設計といった応用領
域では、回路の構造はCADなどの設計支援ツールによ
って記述・編集され、ノードの集合とノード間のアーク
からなるネットワークで表現された回路データファイル
として格納されている。この応用領域でのパターン探索
は、このような回路データを対象とした検索を行なうこ
とを意味する。
【0005】回路データを対象とするパターン探索装置
の実現法の一つは、探索したい所望の部分構造を持つ特
定のパターン(以下、探索パターンという)に含まれる
ノードと、その探索パターンの条件を満たすデータを回
路データファイルから順次検索することによって発見す
る手続きを、手続き的なプログラム言語により記述する
方法である。しかし、このような手続き的なプログラム
言語では、検索用プログラムの記述に非常に労力を要す
る。また、コードの形で表現された検索用プログラム
は、直感的に内容を理解することができず、さらにその
デバックや修正も困難である。すなわち、個々の探索方
法の記述はパターン探索装置の動作全体の手続きの中で
一体となっており、探索パターンの記述や探索方法を部
分的に変更したりすることが容易にはできない。
【0006】一方、探索パターンを図式的に記述してお
き、この探索パターン図等を手続き的なプログラム言語
形式の探索プログラムに直接変換することで、探索パタ
ーンの記述や探索方法を容易化する手法を考えることも
できるが、その実現は困難である。また、繰り返し構造
を発見する探索や、所望の部分構造に合致しない箇所を
発見するような否定的な探索といった特別な探索を行な
いたい場合にも、手続き的なプログラム言語で探索プロ
グラムを記述することにより、自由に色々な方法を実現
することができるが、それを他のところへ転用するとい
った作業は容易ではなかった。
【0007】さらに、従来行なわれていた別のパターン
探索方法として、プロダクションシステムを利用してル
ールの形式で探索プログラムを記述する方法がある。ル
ールの形式で探索プログラムを記述した場合には、基本
的な探索動作はプロダクションシステムが持つパターン
マッチの機能を利用して行なわれるため、手続き的な記
述を行なう場合よりも記述量は少なく、容易にパターン
探索装置を構築することができる。
【0008】しかしながら、ルールの形式で記述された
探索プログラムはコードの形で表現されるため、手続き
的なプログラム言語により記述された同様に、直感的に
その内容を理解することができず、デバッグや修正も困
難である。また、探索動作を実現する推論エンジン(探
索エンジン)自体は、プロダクションシステムが持つ固
定的な方法に従わざるを得ず、探索方法を変更するには
複数のルールを組み合わせるなどの特別な工夫を行なわ
なければ実現できない。一方、プロダクションシステム
自身は、対象問題を問わない汎用的な問題解決器である
ため、特に半導体集積回路により実現される電子回路の
ような膨大な数の素子を持つネットワーク情報から、高
速にパターン探索を行なうことが困難である。
【0009】
【発明が解決しようとする課題】上述したように、従来
の技術ではノードの集合とノード間のアークからなるネ
ットワークとして表現される対象から、特定の探索パタ
ーンに合致する部分を探索する場合、探索パターンに含
まれるノードとその条件を満たすデータを探索するため
の探索プログラムを、非図式的な表現である手続き的な
プログラミング言語やルールの形式で記述しているた
め、探索プログラムに表現された探索内容が直感的には
理解できないとともに、そのデバッグや修正が難しいと
いう問題があった。
【0010】さらに、複雑な構造の探索パターンに合致
する部分を実際の使用に耐え得る速度で探索する手続き
や、曖昧性を持つ探索パターンを扱うなどを考慮した探
索機能は、基本的には使用者自身がプログラムとして開
発する必要があり、使用者自身が労力をかけることによ
って対処しなければならなかった。
【0011】本発明は、この様な従来技術の問題点を解
決するためになされたもので、ノードの集合とノード間
のアークからなるネットワークとして表現される対象か
ら、特定の探索パターンに合致する部分を効率的に探索
できるパターン探索装置を提供することを目的とする。
【0012】
【課題を解決するための手段】上記の課題を解決するた
め、本発明はノードの集合とノード間のアークとからな
るネットワークとして表現される対象から指定された特
定の探索パターンに合致する部分を探索するパターン探
索装置において、探索パターンを図式的に記述する探索
パターン編集手段と、図式的に表現された探索パターン
をコード変換して探索用コードを生成する探索用コード
生成手段と、生成された探索用コードを受け取り、前記
対象の中から該探索用コードとして表現された探索パタ
ーンに合致する部分を探索する探索手段とを備えること
を基本的な特徴とする。
【0013】また、本発明は種々の実施態様として、探
索パターン編集手段を探索パターンに合致する部分の中
で、部分的に通常と異なる探索方法を行なう部分を図式
的に指定することができるように構成するとともに、探
索手段をその指定部分を通常の探索方法の他に、否定的
探索・繰り返し型探索・OR型探索・省略可能型探索
や、ユーザが作成して登録した特殊な探索方法のルーチ
ンを呼ぶことによって探索ができる構成とする。これら
の実施態様を以下に列挙する。
【0014】(a) 探索パターン編集手段は、探索パター
ンに合致する部分のうち否定的に探索を行なうべき部分
を図式的に指定でき、探索用コード生成手段は、該探索
パターン編集手段で図式的に指定された否定的に探索を
行なうべき部分を否定探索ブロックとして含む探索用コ
ードに変換し、探索手段は、該否定探索ブロックに関し
てはそのブロックに含まれているパターンが存在しなか
った場合に探索が成功したものとする。
【0015】(b) 探索パターン編集手段は、探索パター
ンに合致する部分のうち繰り返し探索を行なうべき部分
を図式的に指定できるとともに、該繰り返し探索を行な
うものとして図式的に指定した部分の繰り返し構造を定
義でき、探索用コード生成手段は、探索パターン編集手
段で図式的に指定された繰り返し探索を行なうべき部分
と該繰り返し構造とを繰り返し探索ブロックとして含む
探索用コードに変換し、探索手段は、該繰り返し探索ブ
ロックに関してはブロックに含まれているパターンが複
数回繰り返されている場合にも探索が成功したものとす
る。
【0016】(c) 探索手段は、(b) において探索パター
ン編集手段で図式的に指定された繰り返し探索を行なう
べき部分に関してパターンが複数回繰り返されている場
合であってかつ同一部分に関しては繰り返しの回数が最
大の場合にのみ探索が成功したものとする。
【0017】(d) 探索パターン編集手段は、探索パター
ンに合致する部分のうちOR型探索を行なうべき複数の
部分パターンを図式的に記述でき、探索用コード生成手
段は、探索パターン編集手段で図式的に指定されたOR
型探索を行なうべき部分をOR型探索ブロックとして含
む探索用コードに変換し、探索手段は、該指定された部
分に関しては探索パターン編集手段で記述された複数の
探索パターンのいずれかに合致する部分が存在した場合
に探索が成功したものとする。
【0018】(e) 探索パターン編集手段は、探索パター
ンに合致する部分のうち省略可能探索を行なうべき部分
を図式的に指定することができ、探索用コード生成手段
は、探索パターン編集手段で図式的に指定された省略可
能探索を行なうべき部分を省略可能探索ブロックとして
含む探索用コードに変換し、探索手段は、該指定された
部分に関しては適合するパターンが見付かったか否かに
よらず探索が成功したものとする。
【0019】(f) 探索手段は、探索方法を実現するため
の探索方法部品を予め登録することができると共に、探
索パターンに含まれる特定の部分を指定された探索方法
に応じた探索方法部品によって探索し、探索パターン編
集手段は、探索方法部品による探索を行なうために必要
な補足情報を入力する探索補足情報入力部品を予め登録
すると共に、この探索方法部品による探索を行なうべき
部分を指定することができ、さらに必要に応じて補足情
報を入力するための探索補足情報入力部品を起動するこ
とができる。
【0020】
【作用】このように本発明では、探索パターン自体は図
式的に記述するようにし、この図式的に記述された探索
パターンを探索手段である探索エンジンが探索を行なう
ことのできる形態のコードに変換して探索用コードを生
成し、探索エンジンに適用する。従って、従来のパター
ン探索で使用されていた手続き的なプログラミング言語
やルールの形式で記述した探索プログラムを用いる方法
と異なり、探索内容の直感的な理解が可能であり、その
デバッグや修正も容易であるため、パターン探索を的確
かつ効率的に行なうことが可能となる。
【0021】さらに、探索パターンに合致する部分のう
ち、部分的に通常と異なる探索方法を行なう部分につい
ても図式的に指定して、その指定部分について通常の探
索方法の他に、否定的探索・繰り返し型探索・OR型探
索やユーザが作成して登録した特殊な探索方法を適用す
ることによって、これらの特殊・複雑な探索パタンにつ
いても図式的な記述ができ、また効率的な探索が可能と
なる。
【0022】
【実施例】以下、図面を参照して本発明の実施例を説明
する。
【0023】図1は、本発明の一実施例に係るパターン
探索装置の構成を示すブロック図である。この探索パタ
ーン探索装置は、探索パターン編集部11、端末装置1
2、探索用コード生成部13および探索エンジン14か
らなる。また、必要に応じて探索方法部品16および探
索補足情報編集部部品17が設けられる。
【0024】探索パターン編集部11は、ユーザが探索
対象15から探索すべき探索パターンの作成や編集を行
なうためのエディタであり、探索パターンを図式的に記
述することができ、また探索対象15の探索パターンに
合致する部分の中で、部分的に通常と異なる探索方法を
行なう部分を図式的に指定できるものである。本実施例
においては、探索対象15は例えば電子回路であり、ト
ランジスタ・抵抗等の素子がノードに、素子間の接続関
係がアークに、回路全体がネットワークにそれぞれ相当
する。
【0025】端末装置12は、探索パターン編集部11
により制御され、図3に示す探索パターン編集画面を表
示する。このパターン編集画面は、使用者が作成・編集
した探索パターンを図式的に表示する画面と、探索パタ
ーンをファイルから読み出したり書き込むための「ロー
ド・セーブ」ボタン、探索パターンにノードを追加ある
いは削除するための「ノード」ボタン、探索パターンに
アークを追加あるいは削除するための「アーク」ボタ
ン、探索パターン中の特殊な探索を行ないたい部分を指
定するための「特殊探索部分指定」ボタンを持つ。「特
殊探索部分指定」の特別な探索方法の種類としては、
「否定型」、「繰り返し型」および「OR型」があるも
のとする。
【0026】探索用コード生成部13は、探索パターン
編集部11からの図式的に表現された探索パターンのデ
ータを受け取り、これを探索エンジン14が扱えるよう
なコードに変換することにより、探索用コードを生成す
る。探索エンジン14は、生成された探索用コードを受
け取り、探索用コードとして表現された探索パターンに
合致する部分を探索対象15から探索する。
【0027】探索方法部品17は、探索エンジン14で
の探索方法として、通常の探索方法の他に、例えば否定
的探索・繰り返し型探索・OR型探索や、ユーザが作成
して登録した特殊な探索方法等を指定するものである。
【0028】探索補足情報編集部品17は、例えば後述
する繰り返し探索に際して2つの繰り返しの基本構成間
相対的な接続関係を定義する等のために用いられる。
【0029】本実施例のパターン探索装置では、図2に
そのパターン探索処理の概略的な流れをフローチャート
で示したように、まず探索方法部品16を作成し(S
1)、これを登録する(S2)。この後、探索パターン
編集部11により端末装置12上の探索パターン編集画
面を見ながら探索パターンを入力し(S3)、さらに特
殊探索部分を指定して(S4)、探索エンジン14によ
って探索対象15からの探索動作を実行する(S5)。
新しく探索方法を必要としない場合には、S1,S2の
ステップは不要である。以下、図1の各部の詳細な構成
と具体的な動作例について説明する。
【0030】図4は、探索パターン編集部11によって
作成あるいは編集された図式的に表現された探索パター
ンデータの一例であり、2つの抵抗が互いに接続された
ネットワーク構造を探索パターンとして定義している。
【0031】図5は、図4の探索パターンデータを基に
探索用コード生成部13が生成した探索用コードの一例
である。1行目は、ここから「冗長抵抗縮退」という名
前が付けられた探索パターンのデータが始まることを意
味する。2行目から4行目までは、探索パターンに含ま
れる各ノードに関する情報が各ノード毎に1行で表現さ
れている。各ノードに関する情報としては、そのノード
が主としてどのような種類のノードかということと、そ
のノードが他のどのノードと接続されているかという情
報がある。なお、このようなネットワーク構造以外に
も、例えば「抵抗の値は10Ω以上」、「2つの抵抗は
同じタイプの抵抗」といった条件がつく場合もあり得る
が、本実施例においてはこのような条件がない場合につ
いて説明を行なう。
【0032】図5の2行目は、該当するノードに抵抗が
一つあり、そのID番号(システムが探索パターン中の
他のノードとの識別のために付加するもの)は1である
ことを示している。また、図5の( )内は他のノード
との接続情報を示しており、2行目はID番号が2のノ
ードと接続されていることを示している。図5の3行目
は、該当するノードにID番号が2の配線が一つあり、
ID番号が1および3のノードと接続されていることを
示している。図5の6行目は、探索パターンのデータが
終りであることを示している。
【0033】本実施例においては、図6に示されるよう
な電子回路を対象としてパターン探索を行なう。図6に
示された回路のデータは、例えば図7のようなものにな
る。図7は、各行が一つのノードに関する情報を表して
いる。各行はノードの種類、ノード名および接続情報
(の並び)からなっている。接続情報は、配線以外のノ
ードについて、そのノードがどの配線に接続されている
かを示している。例えば、NPNトランジスタの場合
は、並んでいる順に、コレクタ・ベース・エミッタがそ
れぞれどの配線に接続されているかを示しており、TR
1はコレクタが配線N1に、ベースはどこにも接続して
おらず(“−”は、接続されている配線がないことを示
すものとする)、エミッタは配線N2に接続されている
ことを示している。
【0034】次に、図8を参照して探索エンジン14に
おける通常探索と、否定型探索、繰り返し型探索および
OR型探索等の特殊探索の場合の動作例を説明する。
【0035】説明する。
【0036】(通常探索の場合)探索エンジン14は探
索開始後、図5に示される探索用コードを探索用コード
生成部13から読み込んで探索を行なう(S11〜S1
4)。図5の例では、まず2行目の抵抗を探索する。こ
の場合、2行目の抵抗は最初の要素であり、他のノード
との接続関係の条件を調べることはできないので、種類
が抵抗であるものを図7の先頭から探索してゆき、条件
に合うものとして抵抗R1を取り出す。最初の要素が見
つかったので、次の要素を取り出す。図5の例では、3
行目の配線を探索する。すなわち、配線であって既に見
つかっている抵抗R1に接続されているものを探索す
る。この探索では図7のデータより配線N2とN3が取
り出されるが、まずN2について調べる。
【0037】次に、図5の4行目の抵抗を探索する。配
線N2に接続されている抵抗を探すために通常探索を行
ない(S14)、接続情報の部分にN2が現れている抵
抗を探し、探索が成功したか失敗したかを判定する(S
16)。この例では接続情報の部分に配線N2が現れて
いる抵抗は存在しないので、探索は失敗と判定する。そ
こで、この場合は前の要素に戻り(S17〜S18)、
3行目の配線の候補として残っている配線N3を取り出
して、探索を続ける(S13〜S16)。再び4行目の
抵抗を探索するが、やはり見つからず失敗する。
【0038】そこで、再び前の要素に戻り、3行目の配
線の探索を続けようとするが、既に残っている候補がな
いので、さらに前の要素に戻り、2行目の抵抗として他
に適当なものがないかを探し、条件に合うものとして抵
抗R2を取り出す。この場合、次の要素である配線の候
補としてはN1とN4があり、まずN1を取り出して調
べるが、この配線N1には他に抵抗が接続されていない
ので探索は失敗し、次にN4を候補として取り出す。次
に、配線N4に接続されている抵抗を探索すると、抵抗
R3が見つかり、S17で探索が成功したと判定され
る。
【0039】こうして探索が成功すると、その度に探索
した要素が最後の要素かどうかが判定され(S19)、
最後の要素でなければS12に戻り、最後の要素であれ
ば探索結果を出力する(S20)。この例の場合、抵抗
R3は図5に含まれる最後の要素であるので、抵抗R2
・配線N4・抵抗R3の組合せで、一つ条件を満たす部
分構造が見つかったことになり、これが探索結果として
端末装置2で表示出力される。
【0040】以下、同様に探索を続けて最終的に得られ
た探索結果の表示例が図9であり、点線で囲まれた「R
2・N4・R3」、「R3・N6・R4」、「R4・N
8・R5」という3つのパターンが探索されたことを示
している。
【0041】(否定型探索の場合)ここで、上述した3
つの探索結果のうち、実際に欲しかったのは「R4・N
8・R5」のみで、他の2つは誤りであったとする。他
の2つの場合には、パターン中に含まれる配線にトラン
ジスタが接続されているので、このようなものを排除す
れば良いが、通常の記述したパターンをそのまま探すや
り方ではこれを表現できない。
【0042】そこで、このような配線に接続されていな
いトランジスタの部分を否定型探索で探す。否定型探索
において探索パターンに指定を行った例を図10に示
す。図10において“NOT”というラベルのついた点
線の四角で囲まれた部分が否定型探索を行なうことを示
しており、この場合は2つの抵抗が配線で接続されてい
て、この配線にトランジスタのベースが接続されていな
い部分を探索することを意味する。
【0043】図11は、探索パターン編集部11によっ
て作成した図10の探索パターンデータを基に探索用コ
ード生成部13が生成した探索用コードの一例である。
図11において、4行目までは図5と全く同じである。
図11の5行目は、ここから第1番目の否定探索ブロッ
クが始まり(否定探索ブロックに複数のブロックが含ま
れる場合があり得るので、このように番号が付けられて
いる)、7行目で終ることが示されている。図11の6
行目が、この場合の否定探索ブロックの中身であり、I
D番号が2のノードにベースが接続されているトランジ
スタが存在してはいけないことを意味する。但し、この
例のように( )内がID番号のみでない場合、その名
前で指定された端子と接続されているという条件を意味
するものとする。
【0044】この場合の探索動作は、2つの抵抗と1つ
の配線を見つけるところまでは先の例と同じである。こ
の後の動作、例えばR2・N4・R3の組合せを見つけ
た後の動作は次のようになる。次の探索の要素は、図1
1の5行目のトランジスタであるが、これは上述のよう
に否定探索ブロック内にあるので、否定探索ルーチンが
コールされる。NPNトランジスタであって配線N4に
ベースが接続されている(接続情報のデータの2番目の
フィールドに“N4”が現れている)ものを回路データ
上で探索すると、TR2が条件を満たすことがわかる。
否定探索ブロックに含まれる部分は、一つでも該当する
ものが見つかるとそのブロックの探索が失敗するので、
前の要素に戻りR3以外のN4に接続されている抵抗を
探すことになる。
【0045】以下、同様に探索を行なっていくと、「R
3・N6・R4」の組合せの場合もTR3が見つかるの
で探索は失敗し、結局、R4・R5の場合のみ探索が成
功することになり、図12に示されるように正しい結果
が得られるようになる。
【0046】(繰り返し型探索の場合)また、図4の探
索パターンでは、図9の点線で示されるように重なりの
ある2つずつの抵抗の組が多く出てきてしまい、同じよ
うな構造が連続して存在していてもそれをまとめて1つ
のものとして探索することができない。入力した探索パ
ターンと全く同じ形の部分を探すことしかできないと、
まとめた形のものを探索するには2重の場合、3重の場
合、…というようにそれぞれの個数の探索パターンを用
意しておかなければならなくなり、用意しておいた個数
より多い場合は探索できなくなってしまう。そこで、繰
り返し探索を用いることによって、1つの探索パターン
によってまとめた形のものを全て探索することができ
る。
【0047】図13は、探索パターン編集部11上で2
つの抵抗、1つの配線および1つのトランジスタからな
る基本構成と、そのうち1つの抵抗、1つの配線および
1つのトランジスタから成る部分が繰り返されても良い
ような探索パターンを定義したものを示している。この
データから探索用コードを生成したものが図14であ
る。
【0048】図14において、2行目は抵抗が1つあ
り、そのID番号は1であることを示している。3行目
は、ここから繰り返し探索ブロック1が始まり(複数の
ブロックが含まれる場合があり得るので、番号が付けら
れている)、10行目で終ることを示している。3〜5
行目は、繰り返しの基本構成を示している。6行目は、
ここから2つの基本構成間の相対的な接続関係を定義す
る部分が始まることを示している。6行目〜9行目は、
相対的な接続関係を定義するための2つ目の基本構成と
その接続の情報を示している。
【0049】一般に、探索パターンを図13のように表
現しただけでは繰り返しの基本構成がどのように繰り返
されるのかという繰り返し構造が一意に決まらない。す
なわち、その基本構成が図15の(A)(B)のいずれ
の形で繰り返されるのか、あるいはもっと別の繰り返し
方をするのかということがわからない。そこで、図16
に示すような繰り返し探索の場合に特別に必要になる情
報を入力するためのエディタとして、図1の探索補足情
報編集部品17を利用し、2つの繰り返しの基本構成の
間の相対的な接続関係を定義することによって、繰り返
し構造を明示することができる。
【0050】この場合の繰り返し探索の動作は、次のよ
うになる。一つの基本構成を見つけるまでは通常の探索
と同様であるので、最初の抵抗R2と基本構成としてN
4・R3・TR2を見つけたところから説明を行なう。
【0051】繰り返し探索では、探索対象15から基本
構成が繰り返されている構造を探索するので、再び基本
構成の最初の要素である配線を探索するが、探索パター
ン編集部11内に設けられた繰り返し構造編集部によっ
て定義された相対的な接続関係より、既に見つかってい
る基本構成の中の抵抗(この場合、R3)に接続されて
いるものとして、配線N6を見つけ出す。さらに、この
配線N6に接続されている抵抗としてR4、またN6に
ベースが接続されているNPNトランジスタとしてTR
3がそれぞれ探索され、2つ目の基本構成の探索が成功
する。次に、3つ目の基本構成の要素の探索として、配
線N8と抵抗R5が探索されるが、配線N8にベースで
継るNPNトランジスタがないためこの探索は失敗す
る。結局、この例の繰り返し探索においては2重の基本
構成の探索に成功したことになるので、図17に示され
るような探索結果が得られることになる。
【0052】(OR型探索の場合)また、図18におい
て「TR1・N2・R1・N3・TR2」で構成される
部分構造(C)と「TR3・N5・TR4」で構成され
る部分構造(D)は、機能的には同じ差動型増幅回路で
あり、形も抵抗の有無の違いだけで非常に良く似ている
が、同じ形のものだけを探索する場合、別々の探索パタ
ーンとして記述しなければならない。そこで、OR型探
索部分を指定して探索パターンを図19のように記述す
る。“OR”というラベルのついた点線の四角で囲まれ
ている部分の中に記述された(1)および(2)の2つ
のサブブロックは、いずれか一方でも存在すれば探索に
成功する。なお、ここで(2)のサブブロックは空のサ
ブブロックである。
【0053】図20は、探索パターン編集部によって作
成した図19の探索パターンデータを基に、探索用コー
ド生成部が生成した探索用コードの一例である。3行目
から6行目がOR型探索ブロックを示している。4〜5
行目が1つ目のOR型サブブロックを、6行目はサブブ
ロックの区切りを示しており、通常はこの後に2つ目の
サブブロックの構成要素が並べられるが、この場合、空
であるのですぐにOR型探索ブロックの終りを示す7行
目が続いている。8〜9行目はまた、通常の探索ブロッ
クである。
【0054】OR型探索の動作は、次のようになる。ま
ず、最初の要素としてNPNトランジスタを探索し、T
R1が取り出される。次に、OR型探索ブロックに入
り、まず(1)のブロックを探索し、N2・R1が取り
出される。次に、通常探索でN3・TR2を取り出し
て、1つの探索に成功する。9行目のNPNトランジス
タ、8行目の配線とも別に取り出せるノードはないの
で、再びOR型探索ブロックに戻る。(1)のブロック
は別に取り出せるノードがないので(2)に移る。ここ
で(2)は空なので、何も探索を行なわなくとも探索が
成功して次に進むが、次に取り出した配線N2に接続さ
れるNPNトランジスタがないため、探索に失敗する。
【0055】また、最初のNPNトランジスタとして、
TR3を取り出した時点での動作は以下のようになる。
OR型探索ブロックに入り、(1)のサブブロックの4
行目の配線としてN5が取り出せるが、これに接続する
抵抗がないため、このサブブロックの探索には失敗す
る。次にサブブロック(2)に移るが、このブロックは
空であるので、何も取り出さずに探索に成功し、8行目
の配線としてN5、9行目のNPNトランジスタとして
TR4をそれぞれ取り出して探索に成功する。このよう
にして、抵抗がある場合とない場合を一つの探索パター
ンで表現することができる。
【0056】なお、本発明は上記実施例に限定されるも
のではなく、種々変形して実施が可能である。例えば、
繰り返し型探索の際に繰り返し回数の下限あるいは上限
を指定して、下限以下の繰り返し回数の場合や上限以上
の繰り返し回数の場合は、探索に失敗するようにするこ
ともできる。
【0057】また、同じく繰り返し探索の際に、同一部
分に関しては繰り返しの回数が最大の場合にのみ探索が
成功するようにし、重複を避けることもできる。
【0058】実施例では、OR型探索においてサブブロ
ックの数を2つとしたが、実際は幾つあっても構わな
い。さらに、OR型探索においてサブブロック数が2で
空のサブブロックを含むものは、空でないサブブロック
が省略可能であるとして探索を行なったのと同じであ
る。
【0059】また、否定探索や繰り返し型探索のような
特別な探索方法を実現するルーチンや繰り返し構造編集
部のようにその探索方法を行なうように必要な情報を入
力するためのエディタを、探索エンジンや探索パターン
編集部から起動する場合のインタフェースを決めて探索
方法部品16や探索補足情報入力部品17として自由に
登録・起動できるようにすることによって、後から新た
に特別な探索方法を容易に追加することができる。
【0060】実施例では、探索用コード中に含まれる各
ノードに対する条件として、ノードの種類と他のノード
との接続情報だけを調べたが、各ノードの属性値に対す
る条件やノード間で行なう属性値の比較等を探索の際の
条件として加え、それらの条件も満たされた場合に探索
が成功するようにすることも可能である。
【0061】実施例では、電子回路を表現するために配
線をノードとして取り扱ったが、抵抗・トランジスタ等
の素子のみをノードとするようなデータを処理すること
も可能である。電子回路以外の例えば電力系統、上下水
道の管網、電話の回線網、計算機ネットワーク、あるい
は器械の構成のようなものも、本発明による探索対象と
することができる。
【0062】
【発明の効果】以上説明したように、本発明によれば探
索パターンを図式的に記述しておき、これをコード変換
して探索用コードを生成し、探索エンジンに適用するこ
とによって、手続き的なプログラミング言語やルールの
形式で記述した探索プログラムを用いた場合に比較し
て、探索内容の直感的な理解が可能であり、そのデバッ
グや修正も容易であるため、パターン探索を的確かつ効
率的に行なうことが可能となる。
【0063】また、探索パターンに合致する部分のう
ち、通常と異なる探索方法を行なう部分についても図式
的に指定ができるようにし、その指定部分について通常
の探索方法の他に、否定的探索・繰り返し型探索・OR
型探索・省略可能探索やユーザが作成して登録した特殊
な探索方法を適用することによって、これらの特殊・複
雑な探索パタンについても、図式的な記述により効率的
な探索を可能とすることができる。
【図面の簡単な説明】
【図1】本発明の一実施例に係るパターン探索装置の構
成を示すブロック図
【図2】同実施例におけるパターン探索の概略的な処理
の流れを示すフローチャート
【図3】同実施例における探索パターン編集画面の例を
示す図
【図4】探索パターンの一例を示す図
【図5】図4の探索パターンに対応する探索用コードの
一例を示す図
【図6】同実施例における探索対象の一例である電子回
路を示す図
【図7】図6の電子回路に係る回路データを示す図
【図8】同実施例における探索エンジンのパターン探索
動作を示すフローチャート
【図9】図6の電子回路に対する探索結果の表示出力例
を示す図
【図10】同実施例における否定型探索に使用される探
索パターンの例を示す図
【図11】図10の探索パターンに対応する探索用コー
ドの例を示す図
【図12】図6の電子回路に対して否定型探索を行った
ときの探索結果の表示出力例を示す図
【図13】同実施例における繰り返し型探索に使用され
る探索パターンの例を示す図
【図14】図13の探索パターンに対応する探索用コー
ドの例を示す図
【図15】図13の探索パターンを含む種々の繰り返し
構造の例を示す図
【図16】図13の繰り返し構造の中から繰り返し部分
接続関係定義エディタにより定義された繰り返し構造の
表示例を示す図
【図17】図6の電子回路に対して繰り返し型探索を行
ったときの探索結果の表示出力例を示す図
【図18】図6の電子回路に対してOR型探索を行った
ときの探索結果の表示出力例を示す図
【図19】同実施例におけるOR型探索に使用される探
索パターンの例を示す図
【図20】図19の探索パターンに対応する探索用コー
ドの例を示す図
【符号の説明】
11…探索パターン編集部 12…端末装置 13…探索用コード生成部 14…探索エンジン 15…探索対象 16…探索方法部品 17…探索補足情報編集部品

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】ノードの集合とノード間のアークとからな
    るネットワークとして表現される対象から指定された特
    定の探索パターンに合致する部分を探索するパターン探
    索装置において、 前記探索パターンを図式的に記述する探索パターン編集
    手段と、 前記探索パターン編集手段で図式的に表現された探索パ
    ターンをコード変換して探索用コードを生成する探索用
    コード生成手段と、 前記探索用コード生成手段により生成された探索用コー
    ドを受け取り、前記対象の中から該探索用コードとして
    表現された前記探索パターンに合致する部分を探索する
    探索手段とを備えることを特徴とするパターン探索装
    置。
  2. 【請求項2】前記探索パターン編集手段は、前記探索パ
    ターンに合致する部分のうち否定的に探索を行なうべき
    部分を図式的に指定できるものであり、前記探索用コー
    ド生成手段は、該探索パターン編集手段で図式的に指定
    された否定的に探索を行なうべき部分を否定探索ブロッ
    クとして含む探索用コードに変換するものであり、前記
    探索手段は、該否定探索ブロックに関してはそのブロッ
    クに含まれているパターンが存在しなかった場合に探索
    が成功したものとするものであることを特徴とする請求
    項1記載のパターン探索装置。
  3. 【請求項3】前記探索パターン編集手段は、前記探索パ
    ターンに合致する部分のうち繰り返し探索を行なうべき
    部分を図式的に指定できるとともに、該繰り返し探索を
    行なうものとして図式的に指定した部分の繰り返し構造
    を定義できるものであり、前記探索用コード生成手段
    は、前記探索パターン編集手段で図式的に指定された繰
    り返し探索を行なうべき部分と該繰り返し構造とを繰り
    返し探索ブロックとして含む探索用コードに変換するも
    のであり、前記探索手段は、該繰り返し探索ブロックに
    関してはブロックに含まれているパターンが複数回繰り
    返されている場合にも探索が成功したものとするもので
    あることを特徴とする請求項1記載のパターン探索装
    置。
  4. 【請求項4】前記探索パターン編集手段は、前記探索パ
    ターンに合致する部分のうちOR型探索を行なうべき複
    数の部分パターンを図式的に記述できるものであり、前
    記探索用コード生成手段は、前記探索パターン編集手段
    で図式的に指定されたOR型探索を行なうべき部分をO
    R型探索ブロックとして含む探索用コードに変換するも
    のであり、前記探索手段は、該指定された部分に関して
    は前記探索パターン編集手段で記述された複数の探索パ
    ターンのいずれかに合致する部分が存在した場合に探索
    が成功したものとするものであることを特徴とする請求
    項1記載のパターン探索装置。
  5. 【請求項5】前記探索手段は、探索方法を実現するため
    の探索方法部品を予め登録することができると共に、前
    記探索パターンに含まれる特定の部分を指定された探索
    方法に応じた探索方法部品によって探索するものであ
    り、前記探索パターン編集手段は、前記探索方法部品に
    よる探索を行なうために必要な補足情報を入力する探索
    補足情報入力部品を予め登録すると共に、前記探索方法
    部品による探索を行なうべき部分を指定することがで
    き、さらに必要に応じて補足情報を入力するための探索
    補足情報入力部品を起動するものであることを特徴とす
    る請求項1記載のパターン探索装置。
JP5030914A 1992-12-28 1993-02-19 パターン探索装置 Pending JPH06243168A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP5030914A JPH06243168A (ja) 1993-02-19 1993-02-19 パターン探索装置
US08/173,082 US5587918A (en) 1992-12-28 1993-12-27 Circuit pattern comparison apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5030914A JPH06243168A (ja) 1993-02-19 1993-02-19 パターン探索装置

Publications (1)

Publication Number Publication Date
JPH06243168A true JPH06243168A (ja) 1994-09-02

Family

ID=12316971

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5030914A Pending JPH06243168A (ja) 1992-12-28 1993-02-19 パターン探索装置

Country Status (1)

Country Link
JP (1) JPH06243168A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115934980A (zh) * 2022-12-02 2023-04-07 珠海芯聚科技有限公司 一种版图图形搜索处理方法及装置、设备、存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63226769A (ja) * 1987-03-17 1988-09-21 Toshiba Corp 情報検索方法
JPH02226365A (ja) * 1989-02-28 1990-09-07 Mitsubishi Electric Corp 画像検索装置
JPH0354670A (ja) * 1989-07-21 1991-03-08 Mitsubishi Electric Corp 画像検索装置
JPH04217073A (ja) * 1990-12-19 1992-08-07 Fuji Xerox Co Ltd 文書蓄積システムにおける文書検索装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63226769A (ja) * 1987-03-17 1988-09-21 Toshiba Corp 情報検索方法
JPH02226365A (ja) * 1989-02-28 1990-09-07 Mitsubishi Electric Corp 画像検索装置
JPH0354670A (ja) * 1989-07-21 1991-03-08 Mitsubishi Electric Corp 画像検索装置
JPH04217073A (ja) * 1990-12-19 1992-08-07 Fuji Xerox Co Ltd 文書蓄積システムにおける文書検索装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115934980A (zh) * 2022-12-02 2023-04-07 珠海芯聚科技有限公司 一种版图图形搜索处理方法及装置、设备、存储介质
CN115934980B (zh) * 2022-12-02 2023-09-08 珠海芯聚科技有限公司 一种版图图形搜索处理方法及装置、设备、存储介质

Similar Documents

Publication Publication Date Title
US7231571B2 (en) Single-pass methods for generating test patterns for sequential circuits
JPH07302281A (ja) 論理シミュレーションシステム及び論理変更方法
CN111124379A (zh) 页面生成方法、装置、电子设备及存储介质
JPH08137873A (ja) 文書共通論理情報編集装置
JPH08147344A (ja) 論理回路設計用パス解析表示装置
JP3444948B2 (ja) 文書編集装置および文書編集方法
JP2006277519A (ja) 対話装置、対話シナリオ編集装置、対話方法及びプログラム
JPH06243168A (ja) パターン探索装置
US5587918A (en) Circuit pattern comparison apparatus
JPS6320529A (ja) 知識獲得方式
JPH0934698A (ja) ソフトウェア生成方法及び開発支援方法
JP3102222B2 (ja) 知識獲得方法及びその実施装置
JP6511793B2 (ja) テストケース生成プログラム、テストケース生成方法及びテストケース生成装置
JP3602231B2 (ja) テストパターン作成装置
JP3696906B2 (ja) データ入力方法及びその装置
JPH0969041A (ja) ソフトウェア部品の作成支援方法
JP3824468B2 (ja) データ管理システム
JP2000113006A (ja) 電子回路機能論理検証支援システム
JPH10207923A (ja) 設計作業における文書作成支援装置
JPS62106542A (ja) 制御フロ−作成方式
JPH10162036A (ja) ネットリスト解析方法
JP2908184B2 (ja) テキストファイル編集方法及び装置
JP2937381B2 (ja) 集積回路の設計方法及び設計装置
KR20040066440A (ko) 음성인식기의 언어모델 구축 방법
JPH1153411A (ja) 回路図エディタ