図面 (/)

技術 仮説推論処理方法

出願人 富士通株式会社
発明者 吉田裕之湯上伸弘大石和弘
出願日 1992年7月20日 (27年8ヶ月経過) 出願番号 1992-191194
公開日 1994年2月10日 (26年1ヶ月経過) 公開番号 1994-035703
状態 未査定
技術分野 特別なプログラム実行装置 知識ベースシステム
主要キーワード 所要メモリ量 現処理対象 データ項 リンク操作 登録要否 単方向リンク 本ラベル 無矛盾性
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(1994年2月10日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (16)

目的

仮説推論処理を行う装置に関し、コンシューマ機構メモリ所要量と、コンシューマ待ち行列操作の処理時間を共に減少できる仮説推論処理方法を目的とする。

構成

ステム再評価スタック72を設け、コンシューマ70の待ち行列71を、単方向リンクのみで形成し(処理73)、該再評価を要するコンシューマを検出した場合には、当該コンシューマ70の待ち行列71上の接続を保持したまま、該コンシューマを再評価用スタック72に登録し(処理74)、該注目環境ごとの該コンシューマ評価処理(処理75)では、待ち行列71の該リンクに従ってすべてのコンシューマ70の該評価を行った後、再評価用スタック72に登録されたすべてのコンシューマ70を順次再評価スタック72から取り出して評価し、該起動可能コンシューマには、起動したことを示す所定の状態表示を行うように構成する。

概要

背景

いくつかの仮説を同時に選択して解を探索する処理を行う一手法として、公知のATMS(assumption-based truth maintenance system) がある。

仮説推論では、いくつかの仮説の論理積集合を環境と呼び、1又は複数の環境の論理和について、その環境が真のとき成り立つデータを前提として、ある知識を適用して結果を推論するのであるが、その場合にATMSでは、各特定の推論動作が、その前提データすべてが、そのとき注目している環境において成立するときに初めて実行されるように制御するために、コンシューマ機構を用いる。

即ち、与えられた知識について、前提データに対してコンシューマと呼ぶデータ構造を作成しておき、現在の注目環境(別途適当な戦略で設定される真と仮定された仮説の集合)に対して前提データがすべて成立するコンシューマを検索し、それを起動可能コンシューマとして取り出して推論処理を行う。

図2はATMSによる仮説推論装置の構成例を示すブロック図であり、問題解決部1と無矛盾性管理部2とからなる。問題解決部1において、制御部3は注目環境を決定し、起動待ちの各コンシューマについて、すべての前提データが注目環境で成立しているか評価し、起動可能コンシューマを検出するごとに推論部4に渡す。

推論部4は、起動可能コンシューマについて、コンシューマに設定されているポインタで指定される知識を、知識管理部5に保持する知識から取り出して推論を実行する。

その推論によって、新しいデータが推論されれば、無矛盾性管理部2のノード管理部6に通知し、ノード管理部6が新しいデータのためのノード(後述するデータのためのデータ構造)を生成し、コンシューマ管理部7が知識管理部5に保持する知識を参照することにより、そのデータを前提とする知識について、新しいコンシューマを生成する。

推論により、新しい正当化(後述するようにして関係付けられる、データ間の前提/帰結の関係)が判明したときは、ラベル更新部8を起動してラベル更新処理を行い正当化を伝播する。又、推論によって矛盾が判明した場合には、矛盾管理部9を起動して、正当化の調整と呼ぶ処理を行うが、詳細は省略する。

ここで、正当化の伝播とは、後述のように、その正当化で確定した、データが成立する環境を、該当ノードの情報に追加し、そのデータを前提とするデータがある場合に、それらのデータのノードにも新たな正当化を波及させるラベル更新部8の処理である。

図4(a)は、データ等を格納するデータ構造である前記ノードの構成を説明する図であって、ノードはデータ項、ラベル項、正当化項、帰結項からなり、データ項にデータが格納され、ラベル項にはデータ項のデータが成立する環境の論理和が格納される。

正当化項と帰結項とは、他のノードとの前提/帰結関係を指示する項であるが、ノード間の前提/帰結関係は次に述べる正当化のデータ構造(以下に単に正当化という)を介して指示するので、正当化項には、このデータが導かれた前提となった他のデータのノードを指示するために、各正当化を指示するポインタが格納され、帰結項には、このデータを前提として導かれた他のデータのノードを指示するために、各正当化を指示するポインタが格納される。

図4(b)は、正当化のデータ構造であって、前提項と帰結項からなり、前提項には前提となったノード(即ち前記の帰結項で、この正当化を指示しているノード)すべてのアドレスが格納され、帰結項には前提項で指示するノード集合からの帰結データを表すノード(即ち前記の正当化項で、この正当化を指示しているノード)のアドレスが格納される。

図5は以上のデータ構造によって推論結果表現されている例を示す図であって、ノードは、先ず網かけ部分が無い状態では、環境「A&B」(仮説Aと仮説Bの論理積)の下でデータ「X=1」が成立することを表し、ノードは環境「C」でデータ「Y=2」が成立することを表し、ノードは環境「D」でデータ「X=2」が成立することを表し、ノードは環境「E」でデータ「Y=1」が成立することを表す。

これらのノード〜に対して、知識「Z=X+Y」に基づく推論のために、コンシューマが後述のように生成され、前記のようにしてそのコンシューマが起動可能になって推論部4による推論が行われると、正当化、正当化、ノードが作られる。

正当化は、ノードとノードとを前提として、ノードが表しているデータ「Z=3」が導かれることを表し、正当化は、ノードとノードとを前提として、同じくノードのデータ「Z=3」が導かれることを表す。

従ってノードのラベル項には、前記ラベル更新部8によるラベル更新処理によって、正当化に対応する環境「A&B&C」と、正当化に対応する環境「D&E」とが、データ「Z=3」が成立する環境として表現される。

このような関係がある場合に、既存のノードで表すデータが別の推論によっても再び導かれると、ラベル更新処理によって、そのノードの正当化項とラベル項がそれに従って拡張するように更新すると共に、更に正当化のポインタを使って関連するノードのラベル項へ更新を伝播する。

例えば図5が前記説明のように表現されている場合に、推論部4によってノードのデータ「X=1」が、環境「F」の下でデータ「W=1」の成立を示すノードと知識「X+W=2」から導かれると、正当化が生成されて、ラベル更新部8によってノードのラベル項に環境「F」が追加され、更に正当化がノードまで伝播されてラベル項に環境「C&F」が追加される。

以上の処理は前記のように、コンシューマ管理部7が生成するコンシューマから、制御部3が検索する起動可能コンシューマに基づいて、推論部4、ラベル更新部8等によって実行される。

図6(a)はコンシューマのデータ構造を示す図であって、各コンシューマは前提項と知識項を有し、コンシューマ間に双方向リンクを設けて待ち行列を構成し管理するためにnext項とprev項を持つ。前提項は推論の前提となるノードを直接又は間接に指示するポインタを保持し、知識項は推論に使用する知識を指定するために、知識管理部5に保持する知識のアドレスを保持する。

図6(b)は、(a)に示したコンシューマによって前提のノードを指示する一例であり、前記の図5によって説明したノードに知識「X+W=2」を適用するためのコンシューマとノードとの接続構造である。

このコンシューマは、注目環境が環境Fを論理的に包含することを制御部3で判定されたとき、起動可能コンシューマとなり、推論部4の推論が起動されて図5に示す正当化が作られて、コンシューマは削除される。

又、図6(c)は、前記図5のノードとノードを前提として、知識「Z=X+Y」を適用するためのコンシューマの接続構造である。このように複数のノードを前提とする場合には、図示のように一時的にテンポラリノードを設けて、コンシューマはそれを前提ノードとして指示する。

テンポラリノードには、前提ノードがすべて成立する環境(この例の場合、環境「A&B&C」)を示し、正当化を介してノードと接続する。この場合、注目環境がテンポラリノードに示す環境を論理的に包含するときにコンシューマは起動可能とされ、推論の結果新しいデータ「Z=3」が導かれる結果、ノードが生成されて、図5に示すような接続構造ができて、コンシューマは削除される。

以上のように制御部3の主要な機能は、予め与えられている戦略に基づいて注目環境を逐次決定し、注目環境を決定するごとに、待ち行列の全コンシューマを順次調べて、その注目環境によって起動可能か判断し、起動可能のコンシューマを推論部4に渡すことである。

このように、制御部3は注目環境ごとに、すべてのコンシューマについて起動可能か否かを1回は評価し、起動可能と判断したコンシューマは待ち行列から削除して推論処理に渡される。

しかし、起動できないと判断されたコンシューマについては、その後に起動可能とした他のコンシューマの推論の結果によって行われるラベル更新処理による正当化の伝播によって、前提ノードの環境が追加されることにより、同じ注目環境で「起動可能」に変化する可能性がある。

従って、ラベル更新処理で環境を変化させたとき、そのノードが前提となっているコンシューマがあった場合には、そのコンシューマについて、既に評価が行われていたとしても、必ず再評価をする必要があり、そのために、そのコンシューマがその時点で必ず未処理のコンシューマ群に入るように、待ち行列上の順位を変えることとし、そのコンシューマを待ち行列の末尾に移動する。

前記のようにコンシューマの待ち行列のリンクを双方向にしているのは、このように再評価のために、待ち行列の途中のコンシューマを行列の末尾につなぎ変える処理を、行列の先頭から走査して当該コンシューマの前位のコンシューマを探索しないでもできるようにするためである。

図7はコンシューマの待ち行列の構造を示す図であり、待ち行列は先頭にダミーのコンシューマをヘッダとして置き、行列上の各コンシューマはnext項で次位のコンシューマを指示し、prev項で前位のコンシューマを指示し、新しいノードは順次行列の末尾に追加されるものとし、先頭のヘッダのprev項及び末尾コンシューマのnext項の値は所定の無効表示値(以下においてNULLという)にする。

又、行列の操作のためのポインタとして、先頭のヘッダを指示するhead、現処理対象のコンシューマを指示するcurrent、currentの指示するコンシューマの直前位のコンシューマを指示するprev、及び末尾コンシューマを指示するtailを設ける。

図8〜図10は、コンシューマの行列を操作する処理を必要とする、制御部3、ラベル更新部8及びコンシューマ管理部7の処理の流れである。以後の処理の流れの説明において、「aa.bb.cc」のような表現は、aaで指示されるブロックのbb項で指示されるブロックのcc項の内容を表すものとする。

図8は制御部3の処理の流れであって、先ず処理ステップ10で所定の条件で結論を得ていないことを識別した場合に1つの注目環境についての処理に入り、処理ステップ11で所与の条件により注目環境を決定し、処理ステップ12で待ち行列のポインタheadの内容をポインタprevに設定して各コンシューマについての処理を開始する。

処理ステップ13でポインタcurrent にprev.next(即ちprevで指示するコンシューマのnext項の内容)を設定し、処理ステップ14でcurrentがNULLか識別し、それがNULLなら行列の末尾まで処理を終わったので、現注目環境についての処理は終了する。

currentがNULLでなければ、処理ステップ15でcurrentの指示するコンシューマが起動可能か、即ちそのコンシューマの指示するすべての前提ノードを成立させる環境が現注目環境に含まれるかを判定し、含まれなければこのコンシューマは起動できないので、処理ステップ16でポインタprevにcurrentの値を設定して処理ステップ13に戻り、次のコンシューマの処理に移る。

処理ステップ15で起動可能と判定すれば、処理ステップ17でcurrent.nextをprev.next に設定し、処理ステップ18でポインタprevの値をcurrent.next.prev に設定して、current の前位と次位のコンシューマが直接リンクされるようにすることにより、そのコンシューマを待ち行列から削除した後、処理ステップ19で、current の指示するコンシューマを渡して推論部4を起動する。

そこで、推論部4が推論を実行し、その結果により前記のようにノード管理部6、ラベル更新部8又は矛盾管理部個が起動され、必要な場合にはコンシューマ管理部7が動作した後、制御部3へ制御が戻されるので、制御部3は処理ステップ13で引き続いて次のコンシューマの処理を始める。

図9はラベル更新部8の処理の流れであって、ラベル更新部8は推論部4から更新すべき正当化Jを指定して起動されると、処理ステップ20で変数nodeに正当化Jの帰結項の値を設定し、処理ステップ21でnodeで指示するノードのラベル項に、正当化Jの前提項で指示する全ノードの環境の論理積を追加するように更新する処理をする。

処理ステップ22で、その更新処理の結果ラベル項の内容が変化したか識別し、変化の無い場合には処理を終わるが、変化がある場合には正当化を伝播するための処理に入り、処理ステップ23で識別してnode.帰結(nodeで指示するノードの帰結項)で指示する要素(正当化又はコンシューマである) をすべて処理するまで、以下の処理を繰り返す。

即ち、処理ステップ24で node.帰結の指示する未処理要素から一要素のアドレスを変数Cに設定し、処理ステップ25でCの指示する要素がコンシューマか否か識別し、コンシューマでない場合は正当化であるので、処理ステップ26に進んでその正当化を再び正当化Jとして本ラベル更新処理を再帰的に実行する。

コンシューマである場合には、前記の理由によりそのコンシューマの再評価が必要になるので、そのコンシューマを行列の末尾に移動させるために、先ず処理ステップ27、28で行列から外し、処理ステップ29〜32で末尾につなぐ

即ち処理ステップ27でC.nextをC.prev.next へ設定し、次に処理ステップ28でC.prevをC.next.prev に設定して、Cで指示するコンシューマの前位と次位のコンシューマが直接リンクするように変更することによって、Cを行列の現位置から除く。

次に、処理ステップ29でCを行列のポインタtailで指示するtail.next へ設定し、処理ステップ30でtailの値をC.prevに設定し、処理ステップ31でC.nextの値をNULLにし、最後にtailをCの値にすることにより、Cのコンシューマを行列の末尾にする。以上によりnode.帰結の指示する未処理要素の1個ごとの処理を終わる。

図10はコンシューマ管理部7の処理の流れであり、ノード管理部6が新しいノードnを渡してコンシューマ管理部7を起動すると、知識管理部5が保持する知識を調べてnが前提となる知識が得られるごとに処理ステップ41以降の処理を行ってコンシューマを生成し、処理ステップ40で識別して全知識を調べるまでこの処理を繰り返す。

ノードnのデータを前提とする知識があると、処理ステップ41でそのアドレスを変数Kとし、処理ステップ42でKの知識の前提となるノードが1個か複数かで処理を分ける。

前提が1個の場合には、前記図6(b)によって説明したような構造にすればよいので、処理ステップ43で新しいコンシューマCを作って、待ち行列の末尾に追加し、処理ステップ44でC.知識に知識のアドレスKを設定し、処理ステップ45でC.前提にnを設定してコンシューマから前提ノードを指示させ、処理ステップ46でn.帰結にCを追加して、前提ノードからコンシューマを指示するリンクを作って、その知識についての処理を終わる。

知識の前提が複数ある場合には、更に複数の前提ノードからなる前提の組が複数組ある場合があるので、処理ステップ47で識別して、そのようなすべての前提の組について、処理ステップ48以降の処理を繰り返して、それらの組ごとにコンシューマを生成する。

即ち処理ステップ48でKの前提をなすノードの1組を検索すると、処理ステップ49で正当化Jを生成して、その前提項で前提ノードを指示し、各前提ノードの帰結項から正当化Jを指示するリンクを作る。

処理ステップ50で前記図6(c) で説明したテンポラリノードTを作り、処理ステップ51で前提ノードの環境の論理積をテンポラリノードに設定し、処理ステップ52で正当化Jの帰結項にTを設定し、処理ステップ53でテンポラリノードの正当化項にJを設定する。

処理ステップ54で新しいコンシューマCを作って、待ち行列の末尾に追加し、処理ステップ55でC.知識に知識のアドレスKを設定し、処理ステップ56でC.前提にテンポラリノードのアドレスTを設定してコンシューマとテンポラリノードをリンクし、処理ステップ57でT.帰結にCを設定して、その前提の組についての処理を終わる。

概要

仮説推論処理を行う装置に関し、コンシューマ機構のメモリ所要量と、コンシューマ待ち行列操作の処理時間を共に減少できる仮説推論処理方法を目的とする。

ステムに再評価用スタック72を設け、コンシューマ70の待ち行列71を、単方向リンクのみで形成し(処理73)、該再評価を要するコンシューマを検出した場合には、当該コンシューマ70の待ち行列71上の接続を保持したまま、該コンシューマを再評価用スタック72に登録し(処理74)、該注目環境ごとの該コンシューマ評価処理(処理75)では、待ち行列71の該リンクに従ってすべてのコンシューマ70の該評価を行った後、再評価用スタック72に登録されたすべてのコンシューマ70を順次再評価スタック72から取り出して評価し、該起動可能コンシューマには、起動したことを示す所定の状態表示を行うように構成する。

目的

本発明は、コンシューマ機構のメモリ所要量と、コンシューマ待ち行列操作の処理時間を共に減少できる仮説推論処理方法を目的とする。

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

所与仮説論理積で表す環境について、該環境の論理和の下に成立するデータを示すノードを設け、該データを前提として所与の知識によって結論となるデータを推論する場合に、該知識と前提データ群との組合せごとコンシューマ(70)を設け、該コンシューマから当該知識と当該前提データの該ノードを指示し、該コンシューマを待ち行列(71)に接続し、所定の注目環境ごとに、該待ち行列の先頭から各該コンシューマの前提ノードの環境を順次評価し、当該注目環境によって、すべての該ノードの該環境が成立している該コンシューマを起動可能コンシューマとし、当該起動可能コンシューマについて、所定の推論処理を行い、該待ち行列から削除し、該推論処理の結果で該環境の論理和の内容が更新された該ノードを該前提とする該コンシューマがある場合には、当該コンシューマを当該注目環境について再評価するシステムにおいて、再評価用スタック(72)を設け、該コンシューマの待ち行列(71)を、単方向リンクのみで形成し(73)、該再評価を要するコンシューマ(70)を検出した場合には、当該コンシューマの該待ち行列上の接続を保持したまま、該コンシューマのアドレスを該再評価用スタック(72)に登録し(74)、該注目環境ごとの該コンシューマ評価処理(75)では、該待ち行列(71)の該リンクに従ってすべての該コンシューマの該評価を行った後、該再評価用スタックに登録されたすべての該コンシューマを順次該再評価スタック(72)から取り出して評価し、該起動可能コンシューマには、起動したことを示す所定の状態表示を行うように構成されていることを特徴とする仮説推論処理方法

請求項2

各前記コンシューマ(70)に、2値を表示するフラグを設けて、前記注目環境ごとのコンシューマ評価処理の開始時に、すべての該コンシューマの該フラグが同一の一方の値を初期値として保持するようにし、該評価処理を行った該コンシューマの該フラグを他方の値に更新し、前記再評価用スタック(72)に該コンシューマを登録する場合には、当該コンシューマの該フラグが他方の値に更新されている場合のみ該登録を実行し、且つ当該フラグを該初期値に再設定する、請求項1記載の仮説推論処理方法。

技術分野

0001

本発明は、スケジューリングプランニング等を、必ずしも真であるか否か判定できていない仮説のデータに基づいて問題解決を行うための、仮説推論処理をコンシューマ機構を用いて実行する装置において、コンシューマの管理を改善した仮説推論処理方法に関する。

背景技術

0002

いくつかの仮説を同時に選択して解を探索する処理を行う一手法として、公知のATMS(assumption-based truth maintenance system) がある。

0003

仮説推論では、いくつかの仮説の論理積集合を環境と呼び、1又は複数の環境の論理和について、その環境が真のとき成り立つデータを前提として、ある知識を適用して結果を推論するのであるが、その場合にATMSでは、各特定の推論動作が、その前提データすべてが、そのとき注目している環境において成立するときに初めて実行されるように制御するために、コンシューマ機構を用いる。

0004

即ち、与えられた知識について、前提データに対してコンシューマと呼ぶデータ構造を作成しておき、現在の注目環境(別途適当な戦略で設定される真と仮定された仮説の集合)に対して前提データがすべて成立するコンシューマを検索し、それを起動可能コンシューマとして取り出して推論処理を行う。

0005

図2はATMSによる仮説推論装置の構成例を示すブロック図であり、問題解決部1と無矛盾性管理部2とからなる。問題解決部1において、制御部3は注目環境を決定し、起動待ちの各コンシューマについて、すべての前提データが注目環境で成立しているか評価し、起動可能コンシューマを検出するごとに推論部4に渡す。

0006

推論部4は、起動可能コンシューマについて、コンシューマに設定されているポインタで指定される知識を、知識管理部5に保持する知識から取り出して推論を実行する。

0007

その推論によって、新しいデータが推論されれば、無矛盾性管理部2のノード管理部6に通知し、ノード管理部6が新しいデータのためのノード(後述するデータのためのデータ構造)を生成し、コンシューマ管理部7が知識管理部5に保持する知識を参照することにより、そのデータを前提とする知識について、新しいコンシューマを生成する。

0008

推論により、新しい正当化(後述するようにして関係付けられる、データ間の前提/帰結の関係)が判明したときは、ラベル更新部8を起動してラベル更新処理を行い正当化を伝播する。又、推論によって矛盾が判明した場合には、矛盾管理部9を起動して、正当化の調整と呼ぶ処理を行うが、詳細は省略する。

0009

ここで、正当化の伝播とは、後述のように、その正当化で確定した、データが成立する環境を、該当ノードの情報に追加し、そのデータを前提とするデータがある場合に、それらのデータのノードにも新たな正当化を波及させるラベル更新部8の処理である。

0010

図4(a)は、データ等を格納するデータ構造である前記ノードの構成を説明する図であって、ノードはデータ項、ラベル項、正当化項、帰結項からなり、データ項にデータが格納され、ラベル項にはデータ項のデータが成立する環境の論理和が格納される。

0011

正当化項と帰結項とは、他のノードとの前提/帰結関係を指示する項であるが、ノード間の前提/帰結関係は次に述べる正当化のデータ構造(以下に単に正当化という)を介して指示するので、正当化項には、このデータが導かれた前提となった他のデータのノードを指示するために、各正当化を指示するポインタが格納され、帰結項には、このデータを前提として導かれた他のデータのノードを指示するために、各正当化を指示するポインタが格納される。

0012

図4(b)は、正当化のデータ構造であって、前提項と帰結項からなり、前提項には前提となったノード(即ち前記の帰結項で、この正当化を指示しているノード)すべてのアドレスが格納され、帰結項には前提項で指示するノード集合からの帰結データを表すノード(即ち前記の正当化項で、この正当化を指示しているノード)のアドレスが格納される。

0013

図5は以上のデータ構造によって推論結果表現されている例を示す図であって、ノードは、先ず網かけ部分が無い状態では、環境「A&B」(仮説Aと仮説Bの論理積)の下でデータ「X=1」が成立することを表し、ノードは環境「C」でデータ「Y=2」が成立することを表し、ノードは環境「D」でデータ「X=2」が成立することを表し、ノードは環境「E」でデータ「Y=1」が成立することを表す。

0014

これらのノード〜に対して、知識「Z=X+Y」に基づく推論のために、コンシューマが後述のように生成され、前記のようにしてそのコンシューマが起動可能になって推論部4による推論が行われると、正当化、正当化、ノードが作られる。

0015

正当化は、ノードとノードとを前提として、ノードが表しているデータ「Z=3」が導かれることを表し、正当化は、ノードとノードとを前提として、同じくノードのデータ「Z=3」が導かれることを表す。

0016

従ってノードのラベル項には、前記ラベル更新部8によるラベル更新処理によって、正当化に対応する環境「A&B&C」と、正当化に対応する環境「D&E」とが、データ「Z=3」が成立する環境として表現される。

0017

このような関係がある場合に、既存のノードで表すデータが別の推論によっても再び導かれると、ラベル更新処理によって、そのノードの正当化項とラベル項がそれに従って拡張するように更新すると共に、更に正当化のポインタを使って関連するノードのラベル項へ更新を伝播する。

0018

例えば図5が前記説明のように表現されている場合に、推論部4によってノードのデータ「X=1」が、環境「F」の下でデータ「W=1」の成立を示すノードと知識「X+W=2」から導かれると、正当化が生成されて、ラベル更新部8によってノードのラベル項に環境「F」が追加され、更に正当化がノードまで伝播されてラベル項に環境「C&F」が追加される。

0019

以上の処理は前記のように、コンシューマ管理部7が生成するコンシューマから、制御部3が検索する起動可能コンシューマに基づいて、推論部4、ラベル更新部8等によって実行される。

0020

図6(a)はコンシューマのデータ構造を示す図であって、各コンシューマは前提項と知識項を有し、コンシューマ間に双方向リンクを設けて待ち行列を構成し管理するためにnext項とprev項を持つ。前提項は推論の前提となるノードを直接又は間接に指示するポインタを保持し、知識項は推論に使用する知識を指定するために、知識管理部5に保持する知識のアドレスを保持する。

0021

図6(b)は、(a)に示したコンシューマによって前提のノードを指示する一例であり、前記の図5によって説明したノードに知識「X+W=2」を適用するためのコンシューマとノードとの接続構造である。

0022

このコンシューマは、注目環境が環境Fを論理的に包含することを制御部3で判定されたとき、起動可能コンシューマとなり、推論部4の推論が起動されて図5に示す正当化が作られて、コンシューマは削除される。

0023

又、図6(c)は、前記図5のノードとノードを前提として、知識「Z=X+Y」を適用するためのコンシューマの接続構造である。このように複数のノードを前提とする場合には、図示のように一時的にテンポラリノードを設けて、コンシューマはそれを前提ノードとして指示する。

0024

テンポラリノードには、前提ノードがすべて成立する環境(この例の場合、環境「A&B&C」)を示し、正当化を介してノードと接続する。この場合、注目環境がテンポラリノードに示す環境を論理的に包含するときにコンシューマは起動可能とされ、推論の結果新しいデータ「Z=3」が導かれる結果、ノードが生成されて、図5に示すような接続構造ができて、コンシューマは削除される。

0025

以上のように制御部3の主要な機能は、予め与えられている戦略に基づいて注目環境を逐次決定し、注目環境を決定するごとに、待ち行列の全コンシューマを順次調べて、その注目環境によって起動可能か判断し、起動可能のコンシューマを推論部4に渡すことである。

0026

このように、制御部3は注目環境ごとに、すべてのコンシューマについて起動可能か否かを1回は評価し、起動可能と判断したコンシューマは待ち行列から削除して推論処理に渡される。

0027

しかし、起動できないと判断されたコンシューマについては、その後に起動可能とした他のコンシューマの推論の結果によって行われるラベル更新処理による正当化の伝播によって、前提ノードの環境が追加されることにより、同じ注目環境で「起動可能」に変化する可能性がある。

0028

従って、ラベル更新処理で環境を変化させたとき、そのノードが前提となっているコンシューマがあった場合には、そのコンシューマについて、既に評価が行われていたとしても、必ず再評価をする必要があり、そのために、そのコンシューマがその時点で必ず未処理のコンシューマ群に入るように、待ち行列上の順位を変えることとし、そのコンシューマを待ち行列の末尾に移動する。

0029

前記のようにコンシューマの待ち行列のリンクを双方向にしているのは、このように再評価のために、待ち行列の途中のコンシューマを行列の末尾につなぎ変える処理を、行列の先頭から走査して当該コンシューマの前位のコンシューマを探索しないでもできるようにするためである。

0030

図7はコンシューマの待ち行列の構造を示す図であり、待ち行列は先頭にダミーのコンシューマをヘッダとして置き、行列上の各コンシューマはnext項で次位のコンシューマを指示し、prev項で前位のコンシューマを指示し、新しいノードは順次行列の末尾に追加されるものとし、先頭のヘッダのprev項及び末尾コンシューマのnext項の値は所定の無効表示値(以下においてNULLという)にする。

0031

又、行列の操作のためのポインタとして、先頭のヘッダを指示するhead、現処理対象のコンシューマを指示するcurrent、currentの指示するコンシューマの直前位のコンシューマを指示するprev、及び末尾コンシューマを指示するtailを設ける。

0032

図8〜図10は、コンシューマの行列を操作する処理を必要とする、制御部3、ラベル更新部8及びコンシューマ管理部7の処理の流れである。以後の処理の流れの説明において、「aa.bb.cc」のような表現は、aaで指示されるブロックのbb項で指示されるブロックのcc項の内容を表すものとする。

0033

図8は制御部3の処理の流れであって、先ず処理ステップ10で所定の条件で結論を得ていないことを識別した場合に1つの注目環境についての処理に入り、処理ステップ11で所与の条件により注目環境を決定し、処理ステップ12で待ち行列のポインタheadの内容をポインタprevに設定して各コンシューマについての処理を開始する。

0034

処理ステップ13でポインタcurrent にprev.next(即ちprevで指示するコンシューマのnext項の内容)を設定し、処理ステップ14でcurrentがNULLか識別し、それがNULLなら行列の末尾まで処理を終わったので、現注目環境についての処理は終了する。

0035

currentがNULLでなければ、処理ステップ15でcurrentの指示するコンシューマが起動可能か、即ちそのコンシューマの指示するすべての前提ノードを成立させる環境が現注目環境に含まれるかを判定し、含まれなければこのコンシューマは起動できないので、処理ステップ16でポインタprevにcurrentの値を設定して処理ステップ13に戻り、次のコンシューマの処理に移る。

0036

処理ステップ15で起動可能と判定すれば、処理ステップ17でcurrent.nextをprev.next に設定し、処理ステップ18でポインタprevの値をcurrent.next.prev に設定して、current の前位と次位のコンシューマが直接リンクされるようにすることにより、そのコンシューマを待ち行列から削除した後、処理ステップ19で、current の指示するコンシューマを渡して推論部4を起動する。

0037

そこで、推論部4が推論を実行し、その結果により前記のようにノード管理部6、ラベル更新部8又は矛盾管理部個が起動され、必要な場合にはコンシューマ管理部7が動作した後、制御部3へ制御が戻されるので、制御部3は処理ステップ13で引き続いて次のコンシューマの処理を始める。

0038

図9はラベル更新部8の処理の流れであって、ラベル更新部8は推論部4から更新すべき正当化Jを指定して起動されると、処理ステップ20で変数nodeに正当化Jの帰結項の値を設定し、処理ステップ21でnodeで指示するノードのラベル項に、正当化Jの前提項で指示する全ノードの環境の論理積を追加するように更新する処理をする。

0039

処理ステップ22で、その更新処理の結果ラベル項の内容が変化したか識別し、変化の無い場合には処理を終わるが、変化がある場合には正当化を伝播するための処理に入り、処理ステップ23で識別してnode.帰結(nodeで指示するノードの帰結項)で指示する要素(正当化又はコンシューマである) をすべて処理するまで、以下の処理を繰り返す。

0040

即ち、処理ステップ24で node.帰結の指示する未処理要素から一要素のアドレスを変数Cに設定し、処理ステップ25でCの指示する要素がコンシューマか否か識別し、コンシューマでない場合は正当化であるので、処理ステップ26に進んでその正当化を再び正当化Jとして本ラベル更新処理を再帰的に実行する。

0041

コンシューマである場合には、前記の理由によりそのコンシューマの再評価が必要になるので、そのコンシューマを行列の末尾に移動させるために、先ず処理ステップ27、28で行列から外し、処理ステップ29〜32で末尾につなぐ

0042

即ち処理ステップ27でC.nextをC.prev.next へ設定し、次に処理ステップ28でC.prevをC.next.prev に設定して、Cで指示するコンシューマの前位と次位のコンシューマが直接リンクするように変更することによって、Cを行列の現位置から除く。

0043

次に、処理ステップ29でCを行列のポインタtailで指示するtail.next へ設定し、処理ステップ30でtailの値をC.prevに設定し、処理ステップ31でC.nextの値をNULLにし、最後にtailをCの値にすることにより、Cのコンシューマを行列の末尾にする。以上によりnode.帰結の指示する未処理要素の1個ごとの処理を終わる。

0044

図10はコンシューマ管理部7の処理の流れであり、ノード管理部6が新しいノードnを渡してコンシューマ管理部7を起動すると、知識管理部5が保持する知識を調べてnが前提となる知識が得られるごとに処理ステップ41以降の処理を行ってコンシューマを生成し、処理ステップ40で識別して全知識を調べるまでこの処理を繰り返す。

0045

ノードnのデータを前提とする知識があると、処理ステップ41でそのアドレスを変数Kとし、処理ステップ42でKの知識の前提となるノードが1個か複数かで処理を分ける。

0046

前提が1個の場合には、前記図6(b)によって説明したような構造にすればよいので、処理ステップ43で新しいコンシューマCを作って、待ち行列の末尾に追加し、処理ステップ44でC.知識に知識のアドレスKを設定し、処理ステップ45でC.前提にnを設定してコンシューマから前提ノードを指示させ、処理ステップ46でn.帰結にCを追加して、前提ノードからコンシューマを指示するリンクを作って、その知識についての処理を終わる。

0047

知識の前提が複数ある場合には、更に複数の前提ノードからなる前提の組が複数組ある場合があるので、処理ステップ47で識別して、そのようなすべての前提の組について、処理ステップ48以降の処理を繰り返して、それらの組ごとにコンシューマを生成する。

0048

即ち処理ステップ48でKの前提をなすノードの1組を検索すると、処理ステップ49で正当化Jを生成して、その前提項で前提ノードを指示し、各前提ノードの帰結項から正当化Jを指示するリンクを作る。

0049

処理ステップ50で前記図6(c) で説明したテンポラリノードTを作り、処理ステップ51で前提ノードの環境の論理積をテンポラリノードに設定し、処理ステップ52で正当化Jの帰結項にTを設定し、処理ステップ53でテンポラリノードの正当化項にJを設定する。

0050

処理ステップ54で新しいコンシューマCを作って、待ち行列の末尾に追加し、処理ステップ55でC.知識に知識のアドレスKを設定し、処理ステップ56でC.前提にテンポラリノードのアドレスTを設定してコンシューマとテンポラリノードをリンクし、処理ステップ57でT.帰結にCを設定して、その前提の組についての処理を終わる。

発明が解決しようとする課題

0051

前記のようにコンシューマは双方向リンクで待ち行列を作る構造になるので、各コンシューマに管理の目的のみのために2個のポインタを必要とし、比較的大きなメモリを必要とすると共に、行列の操作において双方向リンクを操作するための処理時間も多くなる。

0052

本発明は、コンシューマ機構のメモリ所要量と、コンシューマ待ち行列操作の処理時間を共に減少できる仮説推論処理方法を目的とする。

課題を解決するための手段

0053

図1は、本発明の構成を示すブロック図である。図は仮説推論処理方法の構成であって、本発明を適用するシステムは、所与の仮説の論理積で表す環境について、該環境の論理和の下に成立するデータを示すノードを設け、該データを前提として所与の知識によって結論となるデータを推論する場合に、該知識と前提データ群との組合せごとにコンシューマ70を設け、コンシューマ70から当該知識と当該前提データの該ノードを指示し、コンシューマ70を待ち行列71に接続し、所定の注目環境ごとに、待ち行列71の先頭から各コンシューマ70の前提ノードの環境を順次評価し、当該注目環境によって、すべての該ノードの該環境が成立しているコンシューマ70を起動可能コンシューマとし、当該起動可能コンシューマについて、所定の推論処理を行い、待ち行列71から削除し、該推論処理の結果で該環境の論理和の内容が更新された該ノードを該前提とするコンシューマ70がある場合には、当該コンシューマを当該注目環境について再評価するシステムである。

0054

第1の発明では、このシステムに再評価用スタック72を設け、コンシューマ70の待ち行列71を、単方向リンクのみで形成し(処理73)、該再評価を要するコンシューマを検出した場合には、当該コンシューマ70の待ち行列71上の接続を保持したまま、該コンシューマを再評価用スタック72に登録する(処理74)。

0055

該注目環境ごとの該コンシューマ評価処理(処理75)では、待ち行列71の該リンクに従ってすべてのコンシューマ70の該評価を行った後、再評価用スタック72に登録されたすべてのコンシューマ70を順次再評価スタック72から取り出して評価し、該起動可能コンシューマには、起動可能としたことを示す所定の状態表示を行う。

0056

第2の発明では、第1の発明の各コンシューマ70に、2値を表示するフラグを設けて、前記注目環境ごとのコンシューマ評価処理75の開始時に、すべての該コンシューマの該フラグが同一の一方の値を初期値として保持するようにし、該評価処理を行ったコンシューマ70の該フラグを他方の値に更新する。

0057

前記再評価用スタック72にコンシューマ70を登録する(処理74)場合には、当該コンシューマの該フラグが他方の値に更新されている場合のみ該登録を実行し、且つ当該フラグを該初期値に再設定する。

0058

本発明の仮説推論処理方法により、コンシューマの待ち行列を単方向リンクとするので、従来の各コンシューマから1個のポインタが不要になるので、その領域を省くか、又は他の情報の領域に転用することによって、システムの所要メモリ量を減少できる。

0059

行列を単方向リンクにした結果、再評価コンシューマを従来のように行列の末尾に移動する方法を採ると、当該コンシューマを行列から一旦外すために、行列の先頭から走査して、そのコンシューマの前位コンシューマを検索することが必要になり、処理時間を大幅に増加する。

0060

そこで本発明では、再評価用スタックを設けて、再評価するコンシューマは、行列上の移動を行うことなく、再評価用スタックにそのコンシューマのアドレスを登録し、コンシューマの評価では、行列を末尾まで処理した後、再評価用スタックに登録されているコンシューマの再評価を行うようにする。

0061

このようにすることにより、従来行っていたような、再評価するコンシューマの行列上の移動を双方向のポインタを操作して行う処理が、本発明では単にそのコンシューマのアドレスをスタックする処理に変わるので、処理時間を減少することができる。

0062

なお、以上の再評価用スタックへの登録によると、再評価を要すると判定した時点で、これから最初の評価が行われる順位にあるコンシューマもスタックされ、そのようになったコンシューマは不必要に2回処理対象となる。

0063

それでも、起動可能となったことを示す表示を参照することによって、再評価対象としないことを識別できるので論理的な不都合は生じ無い。しかし、第2の発明によるフラグをコンシューマに設けることができる場合には、そのフラグによって再評価用スタックへの登録要否を識別して、必要なもののみ登録するようにすれば更に効率よく処理することができる。

0064

図3(a)は本発明のコンシューマのデータ構造例を示す図であり、図6(a)で説明した従来のコンシューマのprev項が無くなっている。

0065

図3(d)は(a)のコンシューマによって構成する待ち行列の例であり、単方向リンクで構成する。行列の操作のためのポインタ等は従来と同様として、ポインタhead、current、prev、及びtailを設ける。

0066

又、本発明により、コンシューマの待ち行列と組み合わせて再評価用スタックを設け、後述のようにして再評価を要するコンシューマのアドレスをこのスタックに登録する。

0067

図3(b) は第2の発明におけるコンシューマの例であって、知識項の1ビットをフラグに使用し、後述のようにして再評価用スタックへの登録要否を識別するのに使用する。待ち行列は前記(d)と同様になる。

0068

なお、このデータ構造を採るためには、知識を格納する領域のアドレス境界を工夫する等によって、知識を指示するアドレスを格納する場合のビット長を1ビット短縮できるようにする必要がある。

0069

又、図3(c)は、(a)のように減少したポインタの部分を、前記テンポラリノードのラベル項に使用する例であって、このようなコンシューマの構造にすることにより、テンポラリノードを設ける必要が無くなり、例えば前記図6(c) に示した構造を、図6(d)に示すように縮小することができる。

0070

従って、テンポラリノードを設けるコンシューマが多くなるシステムの場合には、このようにラベル項を持つ構造のコンシューマを使用することによって、所要メモリ量を更に減少することができる。

0071

この場合には、正当化が指示しているデータ構造がコンシューマを表現しているのか(即ち推論がまだ行われていないのか)、或いは正当化が指示しているデータ構造が推論結果のノードを表現しているのか、を識別できることが必要であるが、その識別は例えば次のようにして比較的簡単にできる。

0072

それは、例えば知識を格納するメモリ領域を特定の領域として、アドレス値で他の領域と簡単に区別できるように領域を管理しておき、コンシューマかノードかの判別を要する場合には、データ構造の第4項のアドレス値が知識の領域を指示しているか否か識別するようにする。

0073

このデータ構造の第4項が知識項として、知識へのアドレスを格納していればコンシューマであり、帰結項として帰結となる他の正当化を指示するポインタを格納していればノードであるから、以上によってデータ構造がコンシューマかノードかを識別することができる。

0074

図11は第1の発明における制御部3の処理の流れ図であって、前記従来の図8に対応する処理であり、処理ステップ100〜103は従来の処理ステップ10〜13と同じである。

0075

処理ステップ104 で従来と同様に行列の末尾まで処理したか識別するが、末尾まで処理を終わった場合には、本発明により後述のように再評価用スタックの処理をする。

0076

処理ステップ104で末尾まで処理してないと判定したときは、処理ステップ105でcurrent.前提がNULLか識別し、NULLであれば処理ステップ106 でcurrent.nextをprev.next に設定することによって、現処理中のコンシューマを行列から削除する。

0077

この「current.前提=NULL」は本発明によって必要となったコンシューマの処理状態の表示であって、第1の発明の場合には、行列を走査して評価するコンシューマが、既に再評価用スタックに登録されている場合があるので、起動可能として推論したコンシューマは識別できるようにして、再評価スタックから取り出した場合に捨てるようにしなければならないので、例えば推論処理したコンシューマは、既に不要な前提項の値をNULLにすることによって、その表示とする。

0078

又、第1及び第2の発明ともに、再評価スタックに登録されたコンシューマを、スタックから取り出して評価した結果が起動可能となっても、待ち行列から削除するためには、行列を先頭から走査して、削除するコンシューマの位置を識別することが必要になる。

0079

それを避けるために、再評価スタックから取り出して推論処理をしたものについて、前記と同じように「current.前提=NULL」にして、評価処理のための待ち行列走査のついでに、前記のように処理ステップ105、106の処理によって行列から削除する。

0080

処理ステップ105でcurrent.前提がNULLでなければ処理ステップ107でコンシューマが起動可能か評価し、起動可能でなければ処理ステップ108 で、ポインタprevにcurrentの値を設定して処理ステップ103に戻り、次のコンシューマの処理に移る。この部分は従来と同様である。

0081

処理ステップ107で起動可能と判定すれば、処理ステップ109でcurrent.nextをprev.next に設定して、そのコンシューマを待ち行列から削除する。このように従来は処理ステップ17、18の2ステップの処理を要したリンクの操作が本発明では1ステップで終わる。

0082

その後従来と同様に、処理ステップ110で、currentの指示するコンシューマを渡して推論部4を起動するが、推論処理の後、制御部3へ制御が戻されると、処理ステップ111 でcurrent.前提をNULLとして、前記のとおり起動済みの表示とした後、処理ステップ103へ戻る。

0083

処理ステップ104で、「current=NULL」の場合には、処理ステップ112 で識別して、再評価用スタックが空になるまで、スタックに登録されているコンシューマを順次以下のように処理する。

0084

処理ステップ113 で、再評価用スタックに登録されているコンシューマのアドレスを1個取り出してポインタcurrent に設定して、そのコンシューマの処理を開始し、処理ステップ114 でcurrent.前提がNULLか識別する。

0085

NULLであれば、前記のとおり既に行列上で起動可能となって処理されたコンシューマであるので、そのまま処理をおわって処理ステップ112 に戻り、NULLでなければ処理ステップ115 でそのコンシューマが起動可能か評価する。

0086

起動可能でなければ、処理ステップ112 へもどり、起動可能であれば処理ステップ116、117により、前記処理ステップ110、111と同様に推論部の処理、及び起動済みの表示の設定をして、処理ステップ112に戻る。

0087

図12は第1の発明のラベル更新部8の処理の流れであって、前記従来の図9に対応する処理であり、処理ステップ120〜126の処理は、図9の処理ステップ20〜26と同様である。

0088

処理ステップ125 で、従来の処理ステップ25と同様にCの指示する要素がコンシューマか否か識別し、コンシューマである場合には再評価が必要なコンシューマとして再評価されるようにする。

0089

しかし、その処理は本発明により、従来のような行列内の移動ではなく、処理ステップ127 によって、コンシューマのアドレスであるCの内容を再評価用スタックに登録することで完了する。即ち従来は処理ステップ27〜32の6ステップによる行列のリンク操作を行っていたのが、スタックへの登録の1ステップに短縮される。

0090

第1の発明の場合のコンシューマ管理部7の動作は、図10によって説明した従来の処理の流れと同様である、但し処理ステップ43及び処理ステップ54における新しいコンシューマを作って行列の末尾に追加する場合に、本発明では単方向リンクのみを処理すればよいようになる。

0091

次に第2の発明の場合の処理例を説明する。第2の発明で前記のように設けるフラグの使い方としては、例えば制御部3のコンシューマ評価処理の最初に、全コンシューマのフラグを例えば初期値「0」に設定し、評価済みを「1」で表すようにしてもよい。

0092

しかし、このようにして評価処理を進めると、行列から再評価用スタックまで一連の処理を完了したときには、すべてのコンシューマのフラグが「1」になっている。

0093

そこで、初期値を固定値「0」にしないで、「0」を初期値として一連の処理を完了すると、次の回の処理では「1」を初期値として、評価済みを「0」で表すというように、交互にフラグの値の解釈交換することにすれば、処理の最初に初期設定を行う必要が無くなる。

0094

図13〜図15は、第2の発明を後者の方法によって処理する場合の、各部の処理の流れである。図13は制御部3の処理の流れであって、変数FLAGを設けて、例えばシステムの運転開始時にFLAGを1に初期設定しておくものとする。このようにして制御部3は処理ステップ100〜110を前記図11と同様に処理する。

0095

但し、処理ステップ101aでこの回の処理におけるFLAGの値を、現に保持されている前回の値の反転値に更新する処理が入る。この結果、FLAGの値は、現在の全コンシューマのフラグと同じ値になる筈である。

0096

又処理ステップ107 でコンシューマが起動可能か評価し、起動可能でない場合に次のコンシューマを処理するために処理ステップ108でポインタcurrentの値をポインタprevに設定する処理は前記と同様であるが、次に現に処理したコンシューマに評価済みの表示をするために、処理ステップ108aでcurrent.フラグを反転した後、処理ステップ103に戻る。

0097

起動可能の場合には前記と同様に処理ステップ109、処理ステップ110で推論処理を実行するが、第2の発明により後述のように、未評価のコンシューマが再評価用スタックに登録されることは無くなるので、前記の処理ステップ111 の処理は不要になる。

0098

処理ステップ104 で、待ち行列の末尾まで処理したと識別した場合には、再評価用スタックの処理に入り、処理ステップ112、113でスタックに登録されているコンシューマのアドレスを1個取り出すと、直ちに処理ステップ115 でそのコンシューマが起動可能か識別する。

0099

即ち、第2の発明では後述のようにして、待ち行列上で未評価のコンシューマが再評価用スタックに登録されることは無いので、第1の発明の場合の処理ステップ114 のように、スタックから取り出したコンシューマが、既に起動可能として処理済みではないかチェックする必要は無い。

0100

処理ステップ115で起動可能と評価すれば、前記と同様に処理ステップ116、処理ステップ117 の処理をする。又、起動可能で無い場合には、処理ステップ115aでcurrent.フラグを反転して、評価済みにしておく。

0101

図14は第2の発明におけるラベル更新部8の処理の流れであり、処理ステップ120から126までの処理、及び処理ステップ127 は、前記第1の発明の図12の処理と同様である。

0102

処理ステップ125 でノードの帰結項で指示する要素がコンシューマであると識別した場合に、第2の発明では処理ステップ125aで、そのコンシューマのフラグC.フラグがFLAGに保持する値と同一か識別し、FLAGと異なれば評価済みであるので、その場合のみ処理ステップ125bでC.フラグを反転して、未評価の表示に戻し、処理ステップ127で再評価用スタックに登録する。

0103

図15は第2の発明のコンシューマ管理部7の処理の流れであり、処理ステップ140〜157は前記図10により説明した従来の処理の処理ステップ40〜57と同様である。

0104

第2の発明により、新しく生成したコンシューマのフラグを設定する必要があるので、処理ステップ145a及び処理ステップ156aが挿入され、フラグをその時の変数FLAGの値に設定する。

発明の効果

0105

以上の説明から明らかなように本発明によれば、仮説推論処理を行う装置において、コンシューマ機構のメモリ所要量と、コンシューマの待ち行列操作の処理時間を共に減少して、システムの処理効率を改善するという著しい工業的効果がある。

図面の簡単な説明

0106

図1本発明の構成を示すブロック図
図2仮説推論装置の構成例ブロック図
図3本発明のコンシューマのデータ構造を示す図
図4ノード及び正当化のデータ構造を説明する図
図5推論結果の表現例を示す図
図6コンシューマのデータ構造を説明する図
図7従来のコンシューマの待ち行列の構造を示す図
図8従来の制御部の処理の流れ図
図9従来のラベル更新部の処理の流れ図
図10従来のコンシューマ管理部の処理の流れ図
図11第1の発明の制御部の処理の流れ図
図12第1の発明のラベル更新部の処理の流れ図
図13第2の発明の制御部の処理の流れ図
図14第2の発明のラベル更新部の処理の流れ図
図15第2の発明のコンシューマ管理部の処理の流れ図

--

0107

1問題解決部
2無矛盾性管理部
3 制御部
4推論部
5知識管理部
6ノード管理部
7コンシューマ管理部
8 ラベル更新部
9矛盾管理部
10〜32、40〜57、100〜117、120〜126、140〜157 処理ステップ
70 コンシューマ
71待ち行列
72再評価用スタック
73〜75 処理

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ