JP2012043429A - センサー・データを表すブール関数の比較 - Google Patents

センサー・データを表すブール関数の比較 Download PDF

Info

Publication number
JP2012043429A
JP2012043429A JP2011177986A JP2011177986A JP2012043429A JP 2012043429 A JP2012043429 A JP 2012043429A JP 2011177986 A JP2011177986 A JP 2011177986A JP 2011177986 A JP2011177986 A JP 2011177986A JP 2012043429 A JP2012043429 A JP 2012043429A
Authority
JP
Japan
Prior art keywords
function
hash code
boolean
boolean function
arithmetic
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
JP2011177986A
Other languages
English (en)
Other versions
JP5751087B2 (ja
Inventor
Stergiou Stelios
ステルギオウ・ステリオス
Jawaha Jine
ジャイン・ジャワハー
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
Publication of JP2012043429A publication Critical patent/JP2012043429A/ja
Application granted granted Critical
Publication of JP5751087B2 publication Critical patent/JP5751087B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons

Abstract

【課題】データ処理のための従前の技術にまつわる欠点や問題を軽減または解消する。
【解決手段】ある種の実施形態によれば、第一のブール関数と第二のブール関数が受領される。第一のブール関数は第一のデータ・セットを表し、第二のブール関数は第二のデータ・セットを表す。第一のブール関数および第二のブール関数はそれぞれ第一の算術関数および第二の算術関数に変換される。第一の算術関数および第二の算術関数からそれぞれ第一のハッシュ符号および第二のハッシュ符号が計算される。第一のハッシュ符号が第二のハッシュ符号に等しければ、第一のブール関数および第二のブール関数は等価であるとして示され、そうでなければ、第一のブール関数および第二のブール関数は等価ではないとして示される。
【選択図】図5

Description

本発明は概括的にはデータ・システムの分野に関し、より詳細にはセンサー・データを表すブール関数の比較に関する。
センサーは種々の状況(医療、環境およびその他の状況など)において時間を追って測定値を取るために使用されうる。場合によっては、測定値は、解析するのが困難になりうる比較的大量のデータを生じることがある。大量のデータを処理(記憶、利用および/または解析など)するためにはさまざまな技法が使用されうる。
本発明によれば、データ処理のための従前の技術にまつわる欠点や問題が軽減または解消されうる。
ある種の実施形態によれば、第一のブール関数と第二のブール関数が受領される。第一のブール関数は第一のデータ・セットを表し、第二のブール関数は第二のデータ・セットを表す。第一のブール関数および第二のブール関数はそれぞれ第一の算術関数および第二の算術関数に変換される。第一の算術関数および第二の算術関数からそれぞれ第一のハッシュ符号および第二のハッシュ符号が計算される。第一のハッシュ符号が第二のハッシュ符号に等しければ、第一のブール関数および第二のブール関数は等価であるとして示され、そうでなければ、第一のブール関数および第二のブール関数は等価ではないとして示される。
本発明のある種の実施形態は、一つまたは複数の技術的利点を提供しうる。ある実施形態の技術的利点は、センサー・データが、二分決定図として記憶できる特性関数によって表現されうるということでありうる。ある実施形態のもう一つの技術的利点は、検索クエリーがクエリー関数によって表現されうるということでありうる。検索クエリーおよび特性関数は、検索クエリーを満たすセンサー・データのセンサー値を得るために使用されうる。
ある実施形態のもう一つの技術的利点は、特定の注釈のためのモデル・センサー・データが特定の注釈付けされたモデル特性関数によって表現されうるということでありうる。前記注釈付けされたモデル特性関数は、ある特性関数と組み合わされて、該特性関数に前記注釈で注釈付けしてもよい。ある実施形態のもう一つの技術的利点は、ブール関数が算術関数に変換されうるということでありうる。該算術関数からハッシュ符号が計算されうる。ハッシュ符号が等しければ、ブール関数は等価として示されうる。
本発明のある種の実施形態は、上記の技術的利点のいずれも含まないこともあれば、一部を含むこともあれば、全部を含むこともありうる。一つまたは複数の他の技術的利点は、図面、詳細な説明および請求項から当業者にはすぐ明白となりうる。
本発明およびその特徴および利点のより完全な理解のために、以下の詳細な記述を付属の図面とともに参照する。
センサー・データを処理するために使用されうるシステムの例を示す図である。 特性関数によってセンサー・データを表現する方法の例を示す図である。 特性関数によって表現されたセンサー・データを問い合わせるための方法の例を示す図である。 特性関数に注釈付けする方法の例を示す図である。 特性関数が等価であるかどうかを判定する方法の例を示す図である。
本発明の諸実施形態およびその利点は、図1ないし図5を参照することによって最もよく理解される。同様の参照符号がさまざまな図面の同様の対応する部分に使われている。
図1は、センサー・データを処理するために使用されうるシステム10の例を示している。ある種の実施形態では、システム10は、二分決定図として記憶されることのできる特性関数によってセンサー・データを表現しうる。ある種の実施形態では、システム10はクエリー関数によって検索クエリーを表しうる。検索クエリーおよび特性関数は、検索クエリーを満足するセンサー・データのセンサー値を得るために使用されうる。
ある種の実施形態では、システム10は、特定の注釈〔アノテーション〕についてのモデル・センサー・データを、特定の注釈付けされたモデル特性関数によって表現してもよい。前記注釈付けされたモデル特性関数は、ある特性関数と組み合わされて、その特性関数を前記注釈で注釈付けしてもよい。ある種の実施形態では、システム10は、ブール関数(特性関数のような)を算術関数に変換しうる。該算術関数からハッシュ符号が計算されうる。ハッシュ符号が等しければ、ブール関数は等価として示されうる。
図示した実施形態において、システム10は、インターフェース(IF)20、コンピューティング・システム22、メモリ24およびセンサー・システム28を図のように結合された形で含む。コンピューティング・システム22は一つまたは複数のプロセッサ29を含む。論理26は二分決定図(BDD)生成器30、クエリー・エンジン32、モデル・エンジン34および署名エンジン36を含み、コンピューティング・システム22および/またはメモリ24によって格納されていてもよい。メモリ24はセンサー・データ40およびBDDライブラリ41を記憶する。センサー・システム28は一つまたは複数のセンサー50を含む。
ある種の実施形態では、センサー・システム28のセンサー50は、特徴(医療または環境上の特徴のような)を測定して測定データ(医療上または環境上の測定値のような)を与え、該測定データがコンピューティング・システム22に送られる。測定データは典型的には数値として表現される。
センサー50の例は、医療、環境および/または他の好適なセンサーを含みうる。医療センサーは患者の医学的状態の一つまたは複数の特徴を測定するために使用されうる。医療センサーは医療モニタ、医療実験室設備、治療設備、医療撮像機械および/または他の医療センサーを含んでいてもよい。医療センサーの例は、心電図(ECG)センサー、血圧センサーおよび/またはパルスオキシメトリー・センサーを含む。
心電図センサーは皮膚電極を通じて時間を追って心臓の電気的活動を記録する。心電図センサーは心拍のトレーシング〔追跡図〕を出力しうる。通常の心拍のトレーシングは典型的にはP波、QRX群(R波を含む)およびT波を含む。サンプルはトレーシングの任意の好適な特徴を記録しうる。たとえば、サンプルは、相続く心拍の特徴間の間隔を記録してもよい。たとえば、二つの連続するR波の間の間隔である。間隔は、心拍数およびその変動性についての情報を抽出するために使われてもよい。
血圧センサーは、血圧を測定するために脈圧計を使ってもよい。測定データは水銀柱ミリメートル(mmHg)の単位の収縮期および/または拡張期の値を含んでいてもよい。ある種の事例では、血圧は、昼夜を通じて定期的な間隔で測定されてもよい。
パルスオキシメトリー・センサーは、ヘモグロビンの酸素との結合を測定するために使われてもよい。パルスオキシメーターは皮膚上(指先など)に位置され、赤色および赤外線の波を送出する。それらの電磁波の吸収が、酸素飽和度を判別するために測定されうる。パルスオキシメーターは、酸素飽和度を0パーセントから99パーセントの百分率として出力してもよい。
環境センサーは、たとえば地理的な位置、気圧、標高および/または温度といった環境上の特徴を測定してもよい。環境センサーの例は、位置を決定する全地球測位システム(GPS: Global Positioning System)、大気圧を測定する気圧計、高度を測定する高度計および温度を測定する温度計を含む。
センサー・データ40はいかなる好適な情報を含んでいてもよい。ある種の実施形態では、センサー・データ40は、一つまたは複数のセンサー50によって取られた測定データを記録する。センサー・データ40は、いかなる好適なフォーマットを有していてもよいサンプルを含んでいてもよい。ある種の実施形態では、サンプルのフォーマットは、一つまたは複数のデータ・パラメータを有するタプル(または順序付けられた集合)であってもよく、特定のサンプルは前記一つまたは複数のデータ・パラメータについての一つまたは複数の値のタプルであってもよい。たとえば、タプル・フォーマット(t,p)はデータ・パラメータとして時間tおよび圧力pを有しうる。特定のサンプル(t0,p0)は時刻t0において測定された圧力p0の値を有しうる。
タプル・フォーマットは、一つまたは複数のセンサー・パラメータおよび/または一つまたは複数の試験パラメータといった、いかなる好適なデータ・パラメータを含んでいてもよい。センサー・パラメータは一つまたは複数のセンサー50に対応してもよく、センサー値は、一つまたは複数のセンサー50によって取られた一つまたは複数の測定データを記録してもよい。たとえば、センサー値はセンサー50によって取られた測定値を記録してもよい。試験パラメータは、測定プロセスの時間的、空間的および/または環境上の特徴を記述する因子に対応してもよく、試験値は、測定データが取られるときの特徴の値を記録してもよい。たとえば、該パラメータは時間であってもよく、該パラメータ値は測定データが取られる特定の時刻を記録してもよい。
時間的特徴の例は時間を含み、時間は絶対時間として表現されてもよいし(たとえば2010年5月25日午後2:00)、相対時間として表現されてもよい(たとえば開始時刻から経過した時間または終了時刻までの残り時間)。空間的特徴の例は、地理的位置(これは緯度、経度および/または高度を含みうる)、身体(たとえば人体)上の位置および位置の種別(たとえば田舎または都会)といった位置を含む。環境上の特徴の例は、温度(たとえば気温または体温)のような環境の物理的な特性を記述する。
モデル・センサー・データ40は、測定データから得られるセンサー・データを、該データを範疇分けするために注釈付けするために使用されうるセンサー・データを記述する。たとえば、ある種のモデル・センサー・データは「正常」(または同様のもの)という注釈をもって範疇分けおよび注釈付けされてもよく、一方、他のセンサー・データは「異常」(または同様のもの)という注釈をもって範疇分けおよび注釈付けされてもよい。正常モデル・センサー・データに一致する測定から得られるセンサー・データは正常と範疇分けされてもよく、異常モデル・センサー・データに一致する測定されたセンサー・データは異常と範疇分けされてもよい。
いかなる好適な注釈付けが使用されてもよい。ある種の実施形態では、医学的注釈が医療センサー・データを範疇分けするために使われてもよい。医学的注釈の例は、正常センサー・データについての「正常」という注釈および異常センサー・データについての「異常」という注釈を含みうる。医学上の注釈の他の例は、特定の疾病、状態、徴候、重大さおよび/または医療センサー・データの他のカテゴリーについての注釈を含んでいてもよい。
ある種の実施形態では、環境上の注釈は環境センサー・データを範疇分けするために使用されてもよい。環境上の注釈の例は、正常センサー・データの「正常」注釈および異常センサー・データの「異常」注釈を含んでいてもよい。環境上の注釈の他の例は、特定の気象条件、地理的特徴、社会的条件および/または環境センサー・データの他のカテゴリーについての注釈を含んでいてもよい。
モデル・センサー・データはモデル・サンプルを含む。モデル・サンプルは一つまたは複数のモデル・センサー値のタプルを含む。モデル・センサー値は、一つまたは複数のセンサーによって取られることのできた一つまたは複数の測定を表す。モデル・サンプルは、それが属する範疇〔カテゴリー〕を示すために、注釈をもって注釈付けされてもよい。
二分決定図ライブラリ41は二分決定図を記憶する。ある種の実施形態では、二分決定図(BDD: binary decision diagram)は、ブール関数fを表現するために使用されうる、根のある有向非環状グラフ(DAG: directed acyclic graph)である。BDDは、非端末ノード(または決定ノード)および端末ノードのようなノードを含む。ここで、端末ノードはルート・ノードを含む。非端末ノードは部分関数fに対応し、ブール変数v=xiによってラベル付けされる。非端末ノードは、子ノードをポイントする、出ていく1エッジおよび出ていく0エッジを有する。1エッジは関数v・fを表す部分BDDをポイントし、0エッジは関数 ̄v・fを表す部分BDDをポイントする〔 ̄vは ̄付きのvを示す〕。換言すれば、1エッジはvの1への割り当てを表し、0エッジはvの0への割り当てを表す。端末ノードは、それぞれブール関数0および1を表す0端末および1端末を含む。
ルート・ノードから1端末への経路は、表現されるブール関数を1に設定する一組の変数割り当てを表す。ルート・ノードから0端末への経路は、表現されるブール関数を0に設定する一組の変数割り当てを表す。
ある種の実施形態では、BDDは冗長な決定ノードおよび部分グラフ同型を剥ぎ取られる。ある種の実施形態では、順序付けられた二分決定図(OBDD: ordered binary decision diagram)は、ルート・ノードから端末ノードへのすべての経路が同じ順序で変数を調べるBDDである。OBDDは、正準的な表現を許容しうる。BDDの他の例は、縮小された順序付けられたBDD(ROBDD: reduced ordered BDD)、分割された順序付けられた二分決定図(POBDD: partitioned ordered binary decision diagram)、零抑制された決定図(ZDD: zero-suppressed decision diagram)、ナノ二分決定図(nanoDD: nano binary decision diagram)、零抑制されたナノ二分決定図(nanoZDD: zero-suppressed nano binary decision diagram)、他の好適な二分決定図および/または上記の任意のものの組み合わせを含む。ROBDDでは、同型の部分グラフが存在せず、BDDのルート・ノードから端末ノードへの変数の順序はすべての経路について同じである。ZDDでは、ノードが負のリテラルである場合には、そのノードは除外される。他のRBDDでは、ノードの両方のエッジが同じノードをポイントする場合には、そのノードは除外される。他の型のBDDの例は以下でより詳細に記述する。
ある種の実施形態では、BDDライブラリ41のノード構造は、各二値変数についての情報およびその変数の二つの可能な評価に対応するノードへのインデックスのような、任意の好適な情報を含む。BDDライブラリ41はまた、前記インデックスの一つの相補化(complementation)についての情報をも含んでいてもよい。
ある種の実施形態では、BDDライブラリ41は、前記情報をコンパクトに記憶してもよい。ある種の実施形態では、BDDライブラリ41は、BDDのサイズの関数としてのインデックスおよび変数識別子を維持してもよい。たとえば、BDDは、BDDライブラリ41によって実行される一部または全部の操作を通じて、高々kのノードを有していてもよい。BDDの各頂点〔バーテックス〕は、高々v個の変数識別子の一つを用いてラベル付けされうる。
したがって、ノードへのインデックスは、任意の変数にインデックス付けするために、高々┌log(v)┐ビットを必要とする〔┌ ┐は天井関数〕。したがって、ノードは2・┌log(k)┐+┌log(v)┐ビットしか要求しない。さらに、2ビットがリザーブされてもよい。相補化されたエッジを同定するために使われる一ビットと、ガーベッジ・コレクションの間に使用される一般的なマーク・ビットとして使用されるさらなる一ビットである。vおよびkについての値はいかなる好適な仕方で決定されてもよい。一例として、ユーザーがvを指定してもよく、デフォルトのk値が初期に使用されてもよい。デフォルトのk値によって許容されるアドレス空間が使い尽くされたときは、k値は増加させてもよく、ノード・テーブルが再構築されてもよい。もう一つの例として、vおよびkについての最大値が想定されてもよい。
ある種の実施形態では、BDD生成器30が一つまたは複数のセンサーによって取られる測定を記録するセンサー・データのサンプルの集合にアクセスする。BDD生成器30は各サンプルを最小項として表して最小項の集合を与える。BDD生成器30はそれらの最小項から特性関数を生成する。特性関数は、所与の最小項が該最小項の集合の要素であるかどうかを示す。
ある種の実施形態では、集合Sの特性関数fSは、所与の自然数(最小項によって表される)が集合Sの要素であるかどうかを示す。ある種の実施形態では、集合S⊂INの特性関数
Figure 2012043429
は、ベクトルxがSの要素の二進表現である場合にかつその場合にのみ1となるブール関数であってもよい。たとえば、S={1,3}について、f(0,0)=f(1,0)=0であり、f(0,1)=f(1,1)=1である。
最小項(minterm)は、相補(complement)演算子と合接(conjunction)演算子のみを用いるn変数の論理式である。n変数のブール関数については、最小項は、n個の変数のそれぞれが相補化されたまたは相補化されない形で一度現れる積の項である。
ある種の実施形態では、クエリー・エンジン32は、センサー・データのサンプルの集合の検索のための検索クエリーを受け取る。検索クエリーは、一つまたは複数のパラメータの一つまたは複数の要求される値を示す。サンプルは、所与の二進表現が前記サンプルの集合のサンプルを表すかどうかを示す特性関数によって表される。クエリー・エンジン32は、要求された値を表すクエリー関数を定式化する。クエリー・エンジンはそのクエリー関数および前記特性関数を使って、一つまたは複数の要求された値をもつ一つまたは複数のサンプルを同定する。
ある種の実施形態では、モデル・エンジン34はモデル・センサー・データのモデル・サンプルの一つまたは複数の集合にアクセスする。各集合は、一つまたは複数の注釈のうちの対応する注釈についてのモデル・サンプルを含む。モデル・エンジン34は、各集合について以下のことを実行して、一つまたは複数の注釈付けされたモデル特性関数を与える:各集合の各モデル・サンプルをモデル最小項として表し、モデル最小項の集合を与える;それらのモデル最小項からモデル特性関数を生成する。特性関数は、所与の最小項が前記モデル最小項の集合の要素であるかどうかを示す;モデル特性関数に注釈付けする。モデル・エンジンは、前記注釈付けされたモデル特性関数から、一般モデル特性関数を生成する。
ある種の実施形態では、署名エンジン36が第一のブール関数および第二のブール関数を、第一および第二の特性関数として受け取る。署名エンジン36は第一および第二のブール関数を変換して、それぞれ第一および第二の算術関数を生成する。署名エンジン36は、第一および第二の算術関数に同じ入力を与えてそれぞれ第一および第二のハッシュ符号(または「署名」)を計算する。第一のハッシュ符号が第二のハッシュ符号に等しい場合、署名エンジン36は第一および第二のブール関数を等価として示す。そうでない場合には、署名エンジン36は第一および第二のブール関数を等価ではないとして示す。
ある種の実施形態では、インターフェース20が任意の好適な入力装置を使ってたとえばユーザーから入力を受け取り、その入力をコンピューティング・システム22に通信する。インターフェース20はコンピューティング・システム22から出力を受け取って、その出力を任意の好適な出力装置を使ってコンピューティング・システム22に通信する。
図2は、センサー・データを特性関数によって表現する方法の例を示している。本方法は、BDD生成器30によって実行されてもよい。本方法において、ステップ110において、センサー・データ40がアクセスされる。センサー・データ40はセンサー50によって取られた測定データを記録している。たとえば、センサー・データ40は第一のセンサー50によって1ヘルツの頻度でおよび第二のセンサー50によって60ヘルツの頻度で取られた測定データを記録してもよい。
ステップ114においてセンサー・データ40からサンプルの集合Sが生成される。ある種の実施形態では、各サンプルは一つまたは複数のセンサー値のタプルを含む。各センサー値は、試験パラメータのある試験値において、一つまたは複数のセンサーによって取られた一つまたは複数の測定データを記録する。試験パラメータは時間、温度または位置を表していてもよい。サンプル・タプルは前記試験値をも含んでいてもよい。
集合Sはいかなる好適な仕方で生成されてもよい。ある種の実施形態では、センサー50のサンプリング周波数および/または所望される精度に基づいて、時間が量子化されてもよい。各時間tiについて、センサー値の集合が得られ、S={(ti,qi 1,…,qi k)}が与えられる。ここで、qi jは時刻iにおけるセンサーjからの量子化された入力である。
ステップ118において各サンプルは最小項として表現される。サンプルは、いかなる好適な仕方で最小項として表現されてもよい。ある種の実施形態では、一つまたは複数の変数がサンプルの各データ値(たとえば試験値またはセンサー値)に割り当てられる。たとえば、Nt個の変数(たとえばNt=32)が時間について割り当てられてもよく、Ns1個の変数(たとえばNs1=8)が第一のセンサーについて割り当てられてもよく、NS2個の変数(たとえばNs2=8)が第二のセンサーについて割り当てられてもよい。この例では、サンプルは、t1…tNt・s1 1…sNs1 1…s1 2…sNs2 2の形の最小項、たとえばt1t2…t32・s1 1…s8 1…s1 2…s8 2に対応する。
各センサー値は、割り当てられた変数を使って二進数として表現される。今の例では、Sの部分集合は{(1,70,3),(2,70,3),(3,70,4)}であってもよい。関係した最小項は
00000000 00000000 00000000 00000001・01000110・00000011,
00000000 00000000 00000000 00000010・01000110・00000011,
00000000 00000000 00000000 00000011・01000110・00000100
となる。
ステップ122においてこれらの最小項から特性関数fSが生成される。特性関数fSは、所与の最小項が最小項の集合の要素であるかどうかを示す。特性関数fSはいかなる好適な仕方で最小項から生成されてもよい。ある種の実施形態では、論理演算が最小項に適用されて特性関数fSを生成してもよい。論理演算は、AND、OR、XORおよびNOTのうちの一つまたは任意の二つ以上の論理的な組み合わせであってもよい。ある種の実施形態では、特性関数fSを生成するために、論理OR演算がそれらの最小項に適用されてもよい。論理OR演算をいくつかのオペランドに適用すると、オペランドの論理和が与えられる。対応する特性関数
Figure 2012043429
はすべての最小項の論理的ORである。
ステップ126においてセンサー・データ40の次のサンプルがあってもよい。たとえば、センサー・データ40に、より新しい、またはより最近のサンプルがあってもよい。次のサンプルがある場合、方法はステップ114に戻って、次のサンプルの次の集合Sを生成する。次のサンプルがない場合、方法はステップ130に進む。
ステップ130において特性関数fSは次のサンプルを使って更新される。特性関数fSはいかなる好適な仕方で更新されてもよい。ある種の実施形態では、ステップ114ないし122と同様のステップが実行されてもよい。それらの実施形態では、次のサンプルの集合が生成されてもよい。各次のサンプルが次の最小項として表現されてもよい。特性関数fSは、それらの次の最小項を使って更新されてもよい。たとえば、論理演算(論理OR演算のような)が特性関数fSおよびそれらの次の最小項に適用されて、更新された特性関数fSを与えてもよい。
ステップ134において、特性関数fSが報告される。特性関数fSはいかなる好適な仕方で報告されてもよい。たとえば、BDD生成器30はインターフェース20における特性関数fSの表示を容易にしてもよい。
図3は、特性関数によって表されたセンサー・データを問い合わせする方法の例を示している。本方法は、BDD生成器30によって実行されてもよい。本方法では、ステップ210において検索クエリーが受領される。検索クエリーはセンサー・データ40のサンプルの集合の検索を要求し、いかなる好適なフォーマットを有していてもよい。ある種の実施形態では、検索クエリーは、一つまたは複数のデータ・パラメータの一つまたは複数の要求される値を指示してもよく、要求された値を満たすサンプルの取得を要求してもよい。データ・パラメータは、センサーに対応するセンサー・パラメータおよび/またはたとえば空間的、時間的および/または地理的特徴を記述する試験パラメータであってもよい。センサー・データ40のサンプルは、所与の二進表現が前記サンプルの集合のサンプルを表しているかどうかを示す特性関数によって表されていてもよい。
ステップ214において要求される値を表すクエリー関数fRが定式化される。クエリー関数fRは、要求された値をもつ(特性関数によって表現された)サンプルを同定するために使用されてもよい。クエリー関数fRはいかなる好適な仕方で定式化されてもよい。ある種の実施形態では、各要求された値は要求された最小項として表現されてもよく、要求された最小項からレンジ〔範囲〕・クエリー関数fRが定式化されてもよい。たとえば、要求された値がt=128ないし255である場合、クエリー関数は
Figure 2012043429
となる。
もう一つの例として、二値変数のベクトルxにおいて表現されている数がvalue以上であるときに1を与えるブール関数THvalue(x)のBDDを生成するために下記の方法が使われてもよい。たとえば、THvalue(x)は
TH5(0,0,0)=0
TH5(0,0,1)=0
TH5(0,1,0)=0
TH5(0,1,1)=0
TH5(1,0,0)=0
TH5(1,0,1)=1
TH5(1,1,0)=1
TH5(1,1,1)=1
であってもよい。
本方法によれば、ブール関数THvalue(x)のBDDは
BDD threshold(value,bits)
{
result=1
while(bits>0)
{
bits=bits−1
if(value mod 2=1)
result=result AND varbits
else
if(result<>1)
result=result OR varbits
value=value/2
}
return
result
}
によって生成されてもよい。
生成されたBDDは、二値変数のベクトルxにおいて表現されている数がvalue以上であるインスタンスの数を数えるために使用されてもよい。もう一つの例として、センサーjがAからBまでの間の値をもつサンプルが要求される場合、次のクエリー関数が使用されてもよい:
Figure 2012043429
もう一つの例として、要求される値がすべてのセンサー値である場合、クエリー関数はブランクであってもよい。
ステップ218において、クエリー関数および特性関数が使用されて検索結果が生じる。クエリー関数および特性関数はいかなる好適な仕方で使用されてもよい。ある種の実施形態では、クエリー関数および特性関数は、それらの関数に論理演算(論理AND演算のような)を適用することによって論理的に組み合わされてもよい。たとえば、特性関数fSはクエリー関数
Figure 2012043429
とANDされてもよい。いくつかのオペランドに論理AND演算を適用することは、それらのオペランドの論理積を与えうる。検索結果は、要求された値をもつ一つまたは複数のサンプルであってもよいし、あるいは要求された値をもつサンプルの数であってもよい。
ある種の実施形態では、要求された値をもつサンプルの数が決定されてもよい。その数は、いかなる好適な仕方で決定されてもよい。たとえば、ブール関数THvalue(x)は、二値変数のベクトルxにおいて表現されている数がvalue以上であるときに1を与えてもよい。THvalue(x)を表すBDDが1を与えるインスタンスの数を数えて、xがvalue以上であるインスタンスの数を決定してもよい。
ステップ222において、検索結果が報告される。検索結果はいかなる好適な仕方で報告されてもよい。たとえば、検索結果は二分決定図として表現されてもよい。
図4は、特性関数に注釈付けする方法の例を示している。本方法は、モデル・エンジン34によって実行されてもよい。本方法において、ステップ310において、モデル・センサー・データがアクセスされる。ある種の実施形態では、モデル・センサー・データ40のモデル・サンプルの一つまたは複数の集合がアクセスされてもよい。各集合は、一つまたは複数の注釈のうちの対応する注釈についてのモデル・サンプルを含む。
ステップ314において、注釈aiについて、注釈付けされたモデル特性関数faiが生成される。注釈付けされたモデル特性関数faiは、一つまたは複数の注釈で注釈付けされたモデル・サンプルを表す。注釈付けされたモデル特性関数faiは、その注釈によって示される範疇に属する測定されたサンプルを同定/識別するために使用されてもよい。
注釈付けされたモデル特性関数faiはいかなる好適な仕方で生成されてもよい。ある種の実施形態では、注釈aiの各モデル・サンプルはモデル最小項として表現されてもよく、モデル特性関数faiは、モデル最小項から、たとえばそれらの最小項に論理演算(論理OR演算のような)を適用することによって、生成されてもよい。モデル特性関数faiは、所与の最小項がそれらのモデル最小項の要素であるかどうかを示す。
本実施形態において、モデル特性関数faiは注釈付けされて、注釈付けされたモデル特性関数faiを生じてもよい。モデル特性関数faiはいかなる好適な仕方で注釈付けされてもよい。ある種の実施形態では、注釈aiを表現するためにブール変数が使用される。そのブール変数およびモデル特性関数に対して数学的演算(積演算のような)が適用されて注釈付けされたモデル特性関数が生成されもよい。
ある例示的なシナリオでは、時間は32ビット分解能をもち、センサーは8ビット分解能をもつ。時間[0,31]におけるk番目のセンサーの値[64,127]は、正常(normal)属性を用いて
Figure 2012043429
のように注釈付けされる。〔一例では、これは時間を表す32ビットのうちのビットt31,t30,…,t6,t5が0で、k番目のセンサーを表す8ビットのうちのビットs7が0で、ビットs6が1であることを表しているものと読める。〕
ステップ316において次の注釈ai+1があってもよい。次の注釈ai+1がある場合、方法はステップ314に戻って次の注釈ai+1についてのモデル特性関数fai+1を生成する。次の注釈ai+1がない場合には、方法はステップ318に進む。
ステップ318において、注釈付けされたモデル特性関数faから一般モデル特性関数gが生成される。一般モデル特性関数gは、一部またはすべてのセンサー・データ40を表してもよい。一般モデル特性関数gは、所与の特性関数のサンプルに注釈付けするために使用されてもよい。これについては下記でより詳細に述べる。
一般モデル特性関数gはいかなる好適な仕方で生成されてもよい。ある種の実施形態では、
Figure 2012043429
のように、注釈付けされたモデル特性関数faに論理演算(論理OR演算のような)が適用されて、一般モデル特性関数gを生じてもよい。
ステップ322において、センサー・データ40のサンプルを表す特性関数fSが受領される。それらのサンプルは、326において、一般モデル特性関数gを使って注釈付けされる。それらのサンプルはいかなる好適な仕方で注釈付けされてもよい。ある種の実施形態では、
fQ=fS・g
のように、特性関数および一般モデル特性関数に数学的演算(積演算のような)が適用されてサンプルに注釈付けしてもよい。注釈付けされた特性関数fQは、注釈を持って注釈付けされた特性関数gのサンプルを表す。
コア演算が、注釈付けされた特性関数fQに対して実行されてもよい。ある種の実施形態では、注釈付けされた特性関数fQは、特定の注釈をもつサンプルを同定するために問い合わせされてもよい。たとえば、密度クエリーは、特定の注釈をもつとして注釈付けされたデータ・ポイントの割合についての情報を提供することができる。もう一つの例として、特定の注釈をもつデータ・ポイントの時間範囲が計算できる。
クエリー/問い合わせは、本稿に記載されるのと実質的に同様な仕方など、いかなる好適な仕方で実行されてもよい。たとえば、所与の注釈を表すクエリー関数が定式化されてもよい。クエリー関数および注釈付けされた特性関数が次いで組み合わされてそれらのサンプルを同定してもよい。
ステップ330において、結果が報告される。結果は、いかなる好適な仕方で報告されてもよい。たとえば、結果は、インターフェース20を通じて報告されてもよい。
図5は、ブール関数(特性関数のような)が等価であるかどうかを判定する方法の例を示している。本方法は、署名エンジン36によって実行されてもよい。
ステップ410において、署名エンジン36は第一のブール関数および第二のブール関数を受け取る。
ステップ414において、第一のブール関数および第二のブール関数はそれぞれ第一の算術関数および第二の算術関数に変換される。それらのブール関数はいかなる好適な仕方で変換されてもよい。たとえば、変換は、規則
X AND Y → X×Y
X OR Y → X+Y−X×Y
NOT(X) → 1−X
X AND X(等冪) → X×X=X;Xk=X
のうちの一つまたは複数に従って実行されてもよい。ここで、→は「は右のように変換される」を表し、ANDは論理積を表し、ORは論理和を表し、NOTは論理的否定を表し、X AND Xは等冪を表し、×は乗算を表し、+は加算を表し、上付き文字は冪指数を表す。たとえば、ブール関数F=X OR Yである場合、算術関数A[F]=X+Y−X×Yとなる。〔X+Y−X×Yは、X=1、Y=1であれば1、X=1、Y=0またはX=0、Y=1であれば1、X=0、Y=0であれば0となる。〕ある種の実施形態では、有限整数体がサイズpをもつ場合、上記算術はpを法として実行される。
ある種の場合には、ブール関数B1およびB2の論理的な組み合わせについてハッシュ符号Hが決定されてもよい。ハッシュ符号Hはハッシュ符号H1およびH2の算術的な組み合わせから決定されてもよい。ここで、H1はブール関数B1のハッシュ符号であり、H2はブール関数B2のハッシュ符号である。たとえば、直交性の定理が適用されてもよい。ブール関数B1とB2が時間的に重ならない場合、B1∨B2についてのハッシュ符号H=H1+H2=Hである。
ステップ418において、同じ入力が第一の算術関数および第二の算術関数に与えられてそれぞれ第一のハッシュ符号および第二のハッシュ符号が計算される。いかなる好適な入力が使用されてもよい。ある種の実施形態では、入力はランダムに生成された整数であってもよい。今の例では、入力X=5、Y=7が算術関数A[F]=X+Y−X×Yに与えられれば、ハッシュ符号はA[F]=5+7−5×7=−23となる。
ステップ422において、第一および第二のハッシュ符号が比較される。ステップ426において、第一および第二のハッシュ符号は等しいこともあれば、等しくないこともある。等価な関数のハッシュ符号は同じであり、異なる関数のハッシュ符号はおそらく異なる。算術式がランダム化のもとで有限整数体において評価される場合、
Figure 2012043429
通りのブール関数のうちの任意の相異なる対は、ほぼ常に、相異なるハッシュ符号にマッピングされる。誤り確率はn/(整数体のサイズ)であり、ここで、整数体Zp={0,1,…,p−1}であり、pは素数である。素数pが大きくなると、誤り確率は減少し、事実上0に近くなりうる。したがって、より正確なハッシュ符号のためにはより大きな素数pを選択してもよく、それほど正確でないハッシュ符号を与えるにはより小さな素数pを選択してもよい。ある種の実施形態では、精度を改善するために複数のハッシュ符号が反復的に生成されてもよい。各ランごとに誤りは指数関数的に減少する。kラン後には、誤りe≦(n/p)kとなる。
ステップ426において第一のハッシュ符号が第二のハッシュ符号に等しい場合、本方法はステップ430に進み、署名エンジン36は第一のブール関数と第二のブール関数が等価であると示す。第一のハッシュ符号が第二のハッシュ符号に等しくない場合、本方法はステップ434に進み、署名エンジン36は第一のブール関数と第二のブール関数を等価でないとして示す。
ステップ438において、結果が報告される。結果はインターフェース20を使って報告されてもよい。
本方法の例は、いかなる好適な用途において使用されてもよい。一例として、ハッシュ符号は、ブール関数またはBDDの通信リンク(有線および/または無線)を通じたネットワーク・ノード(基地局など)への通信を検証するために使用されてもよい。送信側ノードはブール関数およびそれらのブール関数のハッシュ符号を、それらのブール関数のデータのK個のブロックの後毎に、受信側ノードに送ってもよい。それらのハッシュ符号は暗号化されてもよい。複数のハッシュ符号が送られてもよいし、同じハッシュ符号が複数回送られてもよい。
受信側ノードはブール関数についてのハッシュ符号を計算し、計算されたハッシュ符号を、そのブール関数と一緒に受信されたハッシュ符号と比較してもよい。それらのハッシュ符号が同じである場合には、受信側ノードは、そのブール関数が有効である、たとえば適正に受信されたと判定してもよい。そうでない場合には、受信側ノードは、そのブール関数が有効でない、たとえば適正に受信されておらず、壊れている可能性があると判定してもよい。
もう一つの例として、ブール関数またはBDDとして記憶されたデータにマーク付けしておいてのちに有効確認するために、ハッシュ符号が使用されてもよい。ブール関数についてハッシュ符号が計算されてもよく、そのブール関数と一緒にまたは別個に記憶されてもよい。後刻、ブール関数は記憶されているハッシュ関数を使って有効確認されてもよい。新しいハッシュ符号がブール関数について計算され、記憶されているハッシュ符号と比較されてもよい。ハッシュ符号が同じである場合には、そのブール関数は、壊れていないなど、有効であると見なされてもよい。そうでない場合には、そのブール関数は、壊れているなど、無効であると見なされてもよい。
より重要なデータにマーク付けするためにはより正確なハッシュ符号が使用されてもよく、それほど重要でないデータにマーク付けするためにはそれほど正確でないハッシュ符号が使用されもよい。携帯電話における記憶についてなど、処理パワーが制限されている場合、精度の劣るハッシュ符号が使用されてもよい。
本発明の範囲から外れることなく、本稿で開示されるシステムおよび装置に対して修正、追加または省略がなされてもよい。システムおよび装置のコンポーネントは統合されていても分離されていてもよい。さらに、システムおよび装置の動作はより多数、より少数または別のコンポーネントによって実行されてもよい。たとえば、BDD生成器30およびクエリー・エンジン32の動作が一つのコンポーネントによって実行されてもよく、あるいはBDD生成器30の動作が二つ以上のコンポーネントによって実行されてもよい。さらに、システムおよび装置の動作は、ソフトウェア、ハードウェアおよび/または他の論理を含むいかなる好適な論理を使って実行されてもよい。本稿において使用されるところでは、「各」とは、ある集合の各要素またはある集合の部分集合の各要素を指す。
本発明の範囲から外れることなく、本稿で開示される方法に対して修正、追加または省略がなされてもよい。方法はより多数、より少数または別のステップを含んでいてもよい。さらに、ステップはいかなる好適な順序で実行されてもよい。
本稿で開示されるシステムおよび装置のコンポーネントはインターフェース、論理、メモリおよび/または他の好適な要素を含んでいてもよい。インターフェースは入力を受け取り、出力を送り、入力および/または出力を処理し、および/または他の好適な動作を実行する。インターフェースはハードウェアおよび/またはソフトウェアを含んでいてもよい。
論理は該コンポーネントの動作を実行する、たとえば入力から出力を生成するために命令を実行する。論理はハードウェア、ソフトウェアおよび/または他の論理を含んでもよい。論理は一つまたは複数の有形の媒体にエンコードされていてもよく、コンピュータによって実行されたときに動作を実行してもよい。プロセッサのようなある種の論理はコンポーネントの動作を管理してもよい。プロセッサの例は、一つまたは複数のコンピュータ、一つまたは複数のマイクロプロセッサ、一つまたは複数のアプリケーションおよび/または他の論理を含む。
具体的な諸実施形態では、該実施形態の動作は、コンピュータ・プログラム、ソフトウェア、コンピュータ実行可能命令および/またはコンピュータによって実行されることのできる命令がエンコードされた一つまたは複数のコンピュータ可読媒体によって実行されてもよい。具体的な諸実施形態では、該実施形態の動作は、コンピュータ・プログラムを記憶する、コンピュータ・プログラムを具現されたおよび/またはコンピュータ・プログラムをエンコードされたおよび/または記憶された、ならびに/またはエンコードされたコンピュータ・プログラムを有する一つまたは複数のコンピュータ可読媒体によって実行されてもよい。
メモリは情報を記憶する。メモリは一つまたは複数の非一時的な、有形の、コンピュータ読み取り可能および/またはコンピュータ実行可能な記憶媒体を含んでいてもよい。メモリの例は、コンピュータ・メモリ(たとえばランダム・アクセス・メモリ(RAM)または読み出し専用メモリ(ROM))、大容量記憶媒体(たとえば、ハードディスク)、リムーバブル記憶媒体(たとえば、コンパクト・ディスク(CD)またはデジタル・ビデオ・ディスク(DVD))、データベースおよび/またはネットワーク記憶装置(たとえばサーバー)および/または他のコンピュータ読み取り可能媒体を含む。
システムおよび装置のコンポーネントはいかなる好適な通信ネットワークによって結合されてもよい。通信ネットワークは次のうちの一つまたは複数の全部または一部を含んでいてもよい:公衆電話交換網(PSTN)、公共または専用のデータ・ネットワーク、ローカル・エリア・ネットワーク(LAN)、都市圏ネットワーク(MAN)、広域ネットワーク(WAN)、インターネットのようなローカル、地域的またはグローバルな通信もしくはコンピュータ・ネットワーク、有線または無線のネットワーク、企業イントラネット、他の好適な通信リンクまたは上記のうちの任意のものの任意の組み合わせ。
本開示はある種の実施形態の面で記載されているが、そうした実施形態の変更および入れ替えは当業者には明白であろう。したがって、実施形態の上記の記述は本開示を制約するものではない。請求項によって定義される本開示の精神および範囲から外れることなく、他の変更、置換および改変が可能である。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
第一のデータ・セットを表す第一のブール関数および第二のデータ・セットを表す第二のブール関数を受領する段階と;
前記第一のブール関数および前記第二のブール関数をそれぞれ第一の算術関数および第二の算術関数に変換する段階と;
前記第一の算術関数および前記第二の算術関数からそれぞれ第一のハッシュ符号および第二のハッシュ符号を計算する段階と;
前記第一のハッシュ符号が前記第二のハッシュ符号に等しければ、前記第一のブール関数および前記第二のブール関数を等価であるとして示す段階と、
そうでなければ、前記第一のブール関数および前記第二のブール関数を等価ではないとして示す段階とを含む、
方法。
(付記2)
付記1記載の方法であって、前記変換する段階がさらに:
前記第一のブール関数のX AND Yを前記第一の算術関数のX×Yに変換することを含む、
方法。
(付記3)
付記1または2記載の方法であって、前記変換する段階がさらに:
前記第一のブール関数のX OR Yを前記第一の算術関数のX+Y−X×Yに変換することを含む、
方法。
(付記4)
付記1ないし3のうちいずれか一項記載の方法であって、前記変換する段階がさらに:
前記第一のブール関数のNOT(X)を前記第一の算術関数の1−Xに変換することを含む、
方法。
(付記5)
付記1ないし4のうちいずれか一項記載の方法であって、前記変換する段階がさらに:
前記第一のブール関数の冪等属性を前記第一の算術関数のX×X=Xに変換することを含む、
方法。
(付記6)
付記1ないし5のうちいずれか一項記載の方法であって、前記第一のブール関数は第三のブール関数と第四のブール関数のブール結合を含み、前記第一のハッシュ符号を計算する段階がさらに:
前記第三のブール関数の第三のハッシュ符号を計算する段階と;
前記第四のブール関数の第四のハッシュ符号を計算する段階と;
前記第三のハッシュ符号と前記第四のハッシュ符号の算術結合から前記第一のハッシュ符号を計算する段階とを含む、
方法。
(付記7)
前記第一のデータ・セットが一つまたは複数のセンサーによって取られた複数の測定を記録する、付記1ないし6のうちいずれか一項記載の方法。
(付記8)
メモリおよび一つまたは複数のプロセッサを有する装置であって、
前記メモリは、第一のデータ・セットを表す第一のブール関数および第二のデータ・セットを表す第二のブール関数を記憶するよう構成されており;
前記一つまたは複数のプロセッサは:
前記第一のブール関数および前記第二のブール関数をそれぞれ第一の算術関数および第二の算術関数に変換する段階と;
前記第一の算術関数および前記第二の算術関数からそれぞれ第一のハッシュ符号および第二のハッシュ符号を計算する段階と;
前記第一のハッシュ符号が前記第二のハッシュ符号に等しければ、前記第一のブール関数および前記第二のブール関数を等価であるとして示す段階と、
そうでなければ、前記第一のブール関数および前記第二のブール関数を等価ではないとして示す段階とを実行するよう構成されている、
装置。
(付記9)
付記8記載の装置であって、前記変換する段階がさらに:
前記第一のブール関数のX AND Yを前記第一の算術関数のX×Yに変換することを含む、
装置。
(付記10)
付記8または9記載の装置であって、前記変換する段階がさらに:
前記第一のブール関数のX OR Yを前記第一の算術関数のX+Y−X×Yに変換することを含む、
装置。
(付記11)
付記8ないし10のうちいずれか一項記載の装置であって、前記変換する段階がさらに:
前記第一のブール関数のNOT(X)を前記第一の算術関数の1−Xに変換することを含む、
装置。
(付記12)
付記8ないし11のうちいずれか一項記載の装置であって、前記変換する段階がさらに:
前記第一のブール関数の冪等属性を前記第一の算術関数のX×X=Xに変換することを含む、
装置。
(付記13)
付記8ないし12のうちいずれか一項記載の装置であって、前記第一のブール関数は第三のブール関数と第四のブール関数のブール結合を含み、前記第一のハッシュ符号を計算する段階がさらに:
前記第三のブール関数の第三のハッシュ符号を計算する段階と;
前記第四のブール関数の第四のハッシュ符号を計算する段階と;
前記第三のハッシュ符号と前記第四のハッシュ符号の算術結合から前記第一のハッシュ符号を計算する段階とを含む、
装置。
(付記14)
前記第一のデータ・セットが一つまたは複数のセンサーによって取られた複数の測定を記録する、付記8ないし13のうちいずれか一項記載の装置。
(付記15)
プログラムを記憶している一つまたは複数の非一時的なコンピュータ可読媒体であって、前記プログラムは、一つまたは複数のプロセッサによって実行されたときに、該一つまたは複数のプロセッサに:
第一のデータ・セットを表す第一のブール関数および第二のデータ・セットを表す第二のブール関数を受領する段階と;
前記第一のブール関数および前記第二のブール関数をそれぞれ第一の算術関数および第二の算術関数に変換する段階と;
前記第一の算術関数および前記第二の算術関数からそれぞれ第一のハッシュ符号および第二のハッシュ符号を計算する段階と;
前記第一のハッシュ符号が前記第二のハッシュ符号に等しければ、前記第一のブール関数および前記第二のブール関数を等価であるとして示す段階と、
そうでなければ、前記第一のブール関数および前記第二のブール関数を等価ではないとして示す段階とを実行させるものである、
媒体。
(付記16)
付記15記載の媒体であって、前記変換する段階がさらに:
前記第一のブール関数のX AND Yを前記第一の算術関数のX×Yに変換することを含む、
媒体。
(付記17)
付記15または16記載の媒体であって、前記変換する段階がさらに:
前記第一のブール関数のX OR Yを前記第一の算術関数のX+Y−X×Yに変換することを含む、
媒体。
(付記18)
付記15ないし17のうちいずれか一項記載の媒体であって、前記変換する段階がさらに:
前記第一のブール関数のNOT(X)を前記第一の算術関数の1−Xに変換することを含む、
媒体。
(付記19)
付記15ないし18のうちいずれか一項記載の媒体であって、前記変換する段階がさらに:
前記第一のブール関数の冪等属性を前記第一の算術関数のX×X=Xに変換することを含む、
媒体。
(付記20)
付記15ないし19のうちいずれか一項記載の媒体であって、前記第一のブール関数は第三のブール関数と第四のブール関数のブール結合を含み、前記第一のハッシュ符号を計算する段階がさらに:
前記第三のブール関数の第三のハッシュ符号を計算する段階と;
前記第四のブール関数の第四のハッシュ符号を計算する段階と;
前記第三のハッシュ符号と前記第四のハッシュ符号の算術結合から前記第一のハッシュ符号を計算する段階とを含む、
媒体。
(付記21)
前記第一のデータ・セットが一つまたは複数のセンサーによって取られた複数の測定を記録する、付記15ないし20のうちいずれか一項記載の媒体。
(付記22)
前記第一の算術関数および前記第二の算術関数からそれぞれ第一のハッシュ符号および第二のハッシュ符号を計算する段階が、同じ入力を前記第一の算術関数および前記第二の算術関数に与えてその関数値をそれぞれ前記第一のハッシュ符号および前記第二のハッシュ符号とすることを含む、付記1ないし6のうちいずれか一項記載の方法。
(付記23)
一つまたは複数のプロセッサによって実行される方法であって:
受領手段によって、一つまたは複数の二値変数を引数とするブール関数および該ブール関数に対応する第一のハッシュ符号を受領する段階と;
変換手段によって、前記ブール関数を所定の手続きに従って前記一つまたは複数の二値変数の算術関数に変換する段階と;
決定手段によって、前記第一の算術関数の引数である二値変数に所定の値を与えることによって計算される関数値として第二のハッシュ符号を決定する段階と;
判定手段によって、前記第一のハッシュ符号が前記第二のハッシュ符号に等しければ、受領された前記ブール関数が適正であると示す段階と、
判定手段によって、前記第一のハッシュ符号が前記第二のハッシュ符号に等しくなければ、受領された前記ブール関数が適正でないと示す段階とを含む、
方法。
(付記24)
前記一つまたは複数の二値変数を引数とするブール関数は、前記一つまたは複数の二値変数に対する所与の値の組が所定のデータ・セットの要素であるかどうかを示す、付記23記載の方法。
10 システム
20 インターフェース
22 コンピューティング・システム
24 メモリ
26 論理
28 センサー・システム
29 プロセッサ
30 BDD生成器
32 クエリー・エンジン
34 モデル・エンジン
36 署名エンジン
40 センサー・データ
41 BDDライブラリ
50 センサー
110 センサー・データにアクセス
114 サンプルの集合Sを生成
118 サンプルを最小項として表現
122 最小項から特性関数fSを生成
126 次のサンプル?
130 特性関数fSを更新
134 特性関数fSを報告
210 検索クエリーを受領
214 クエリー関数fsqを定式化
218 クエリー関数fsqと特性関数fSとを組み合わせて検索結果を特定
222 クエリー結果を報告
310 モデル・センサー・データにアクセス
314 注釈aiについての注釈付けされたモデル特性関数faiを生成
316 次の注釈?
318 注釈付けされたモデル特性関数faiから一般モデル特性関数gを生成
322 センサー・データ・サンプルを表す特性関数fSを受領
326 一般モデル特性関数gを使ってサンプルに注釈付け
330 結果を報告
410 第一および第二のブール関数を受領
414 第一および第二のブール関数を第一および第二の算術関数に変換
418 第一および第二の算術関数に入力を与えて第一および第二のハッシュ符号を生成
422 第一および第二のハッシュ符号を比較
426 同じ?
430 第一および第二のブール関数が等価であると示す
434 第一および第二のブール関数が等価でないと示す
438 結果を報告

Claims (17)

  1. 第一のデータ・セットを表す第一のブール関数および第二のデータ・セットを表す第二のブール関数を受領する段階と;
    前記第一のブール関数および前記第二のブール関数をそれぞれ第一の算術関数および第二の算術関数に変換する段階と;
    前記第一の算術関数および前記第二の算術関数からそれぞれ第一のハッシュ符号および第二のハッシュ符号を計算する段階と;
    前記第一のハッシュ符号が前記第二のハッシュ符号に等しければ、前記第一のブール関数および前記第二のブール関数を等価であるとして示す段階と、
    そうでなければ、前記第一のブール関数および前記第二のブール関数を等価ではないとして示す段階とを含む、
    方法。
  2. 請求項1記載の方法であって、前記変換する段階がさらに:
    前記第一のブール関数のX AND Yを前記第一の算術関数のX×Yに変換することを含む、
    方法。
  3. 請求項1または2記載の方法であって、前記変換する段階がさらに:
    前記第一のブール関数のX OR Yを前記第一の算術関数のX+Y−X×Yに変換することを含む、
    方法。
  4. 請求項1ないし3のうちいずれか一項記載の方法であって、前記変換する段階がさらに:
    前記第一のブール関数のNOT(X)を前記第一の算術関数の1−Xに変換することを含む、
    方法。
  5. 請求項1ないし4のうちいずれか一項記載の方法であって、前記変換する段階がさらに:
    前記第一のブール関数の冪等属性を前記第一の算術関数のX×X=Xに変換することを含む、
    方法。
  6. 請求項1ないし5のうちいずれか一項記載の方法であって、前記第一のブール関数は第三のブール関数と第四のブール関数のブール結合を含み、前記第一のハッシュ符号を計算する段階がさらに:
    前記第三のブール関数の第三のハッシュ符号を計算する段階と;
    前記第四のブール関数の第四のハッシュ符号を計算する段階と;
    前記第三のハッシュ符号と前記第四のハッシュ符号の算術結合から前記第一のハッシュ符号を計算する段階とを含む、
    方法。
  7. 前記第一の算術関数および前記第二の算術関数からそれぞれ第一のハッシュ符号および第二のハッシュ符号を計算する段階が、同じ入力を前記第一の算術関数および前記第二の算術関数に与えてその関数値をそれぞれ前記第一のハッシュ符号および前記第二のハッシュ符号とすることを含む、請求項1ないし6のうちいずれか一項記載の方法。
  8. メモリおよび一つまたは複数のプロセッサを有する装置であって、
    前記メモリは、第一のデータ・セットを表す第一のブール関数および第二のデータ・セットを表す第二のブール関数を記憶するよう構成されており;
    前記一つまたは複数のプロセッサは:
    前記第一のブール関数および前記第二のブール関数をそれぞれ第一の算術関数および第二の算術関数に変換する段階と;
    前記第一の算術関数および前記第二の算術関数からそれぞれ第一のハッシュ符号および第二のハッシュ符号を計算する段階と;
    前記第一のハッシュ符号が前記第二のハッシュ符号に等しければ、前記第一のブール関数および前記第二のブール関数を等価であるとして示す段階と、
    そうでなければ、前記第一のブール関数および前記第二のブール関数を等価ではないとして示す段階とを実行するよう構成されている、
    装置。
  9. 請求項8記載の装置であって、前記変換する段階がさらに:
    前記第一のブール関数のX AND Yを前記第一の算術関数のX×Yに変換することを含む、
    装置。
  10. 請求項8または9記載の装置であって、前記変換する段階がさらに:
    前記第一のブール関数のX OR Yを前記第一の算術関数のX+Y−X×Yに変換することを含む、
    装置。
  11. 請求項8ないし10のうちいずれか一項記載の装置であって、前記変換する段階がさらに:
    前記第一のブール関数のNOT(X)を前記第一の算術関数の1−Xに変換することを含む、
    装置。
  12. 請求項8ないし11のうちいずれか一項記載の装置であって、前記変換する段階がさらに:
    前記第一のブール関数の冪等属性を前記第一の算術関数のX×X=Xに変換することを含む、
    装置。
  13. 請求項8ないし12のうちいずれか一項記載の装置であって、前記第一のブール関数は第三のブール関数と第四のブール関数のブール結合を含み、前記第一のハッシュ符号を計算する段階がさらに:
    前記第三のブール関数の第三のハッシュ符号を計算する段階と;
    前記第四のブール関数の第四のハッシュ符号を計算する段階と;
    前記第三のハッシュ符号と前記第四のハッシュ符号の算術結合から前記第一のハッシュ符号を計算する段階とを含む、
    装置。
  14. 前記第一のデータ・セットが一つまたは複数のセンサーによって取られた複数の測定を記録する、請求項8ないし13のうちいずれか一項記載の装置。
  15. プログラムを記憶している一つまたは複数の非一時的なコンピュータ可読媒体であって、前記プログラムは、一つまたは複数のプロセッサによって実行されたときに、該一つまたは複数のプロセッサに:
    第一のデータ・セットを表す第一のブール関数および第二のデータ・セットを表す第二のブール関数を受領する段階と;
    前記第一のブール関数および前記第二のブール関数をそれぞれ第一の算術関数および第二の算術関数に変換する段階と;
    前記第一の算術関数および前記第二の算術関数からそれぞれ第一のハッシュ符号および第二のハッシュ符号を計算する段階と;
    前記第一のハッシュ符号が前記第二のハッシュ符号に等しければ、前記第一のブール関数および前記第二のブール関数を等価であるとして示す段階と、
    そうでなければ、前記第一のブール関数および前記第二のブール関数を等価ではないとして示す段階とを実行させるものである、
    媒体。
  16. 一つまたは複数のプロセッサによって実行される方法であって:
    受領手段によって、一つまたは複数の二値変数を引数とするブール関数および該ブール関数に対応する第一のハッシュ符号を受領する段階と;
    変換手段によって、前記ブール関数を所定の手続きに従って前記一つまたは複数の二値変数の算術関数に変換する段階と;
    決定手段によって、前記第一の算術関数の引数である二値変数に所定の値を与えることによって計算される関数値として第二のハッシュ符号を決定する段階と;
    判定手段によって、前記第一のハッシュ符号が前記第二のハッシュ符号に等しければ、受領された前記ブール関数が適正であると示す段階と、
    判定手段によって、前記第一のハッシュ符号が前記第二のハッシュ符号に等しくなければ、受領された前記ブール関数が適正でないと示す段階とを含む、
    方法。
  17. 前記一つまたは複数の二値変数を引数とするブール関数は、前記一つまたは複数の二値変数に対する所与の値の組が所定のデータ・セットの要素であるかどうかを示す、請求項16記載の方法。
JP2011177986A 2010-08-17 2011-08-16 センサー・データを表すブール関数の比較 Expired - Fee Related JP5751087B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/857,628 US8583718B2 (en) 2010-08-17 2010-08-17 Comparing boolean functions representing sensor data
US12/857,628 2010-08-17

Publications (2)

Publication Number Publication Date
JP2012043429A true JP2012043429A (ja) 2012-03-01
JP5751087B2 JP5751087B2 (ja) 2015-07-22

Family

ID=44764458

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011177986A Expired - Fee Related JP5751087B2 (ja) 2010-08-17 2011-08-16 センサー・データを表すブール関数の比較

Country Status (3)

Country Link
US (1) US8583718B2 (ja)
JP (1) JP5751087B2 (ja)
GB (1) GB2482959A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8583718B2 (en) * 2010-08-17 2013-11-12 Fujitsu Limited Comparing boolean functions representing sensor data
US8572146B2 (en) * 2010-08-17 2013-10-29 Fujitsu Limited Comparing data samples represented by characteristic functions
US8812943B2 (en) * 2011-09-23 2014-08-19 Fujitsu Limited Detecting data corruption in medical binary decision diagrams using hashing techniques
US8719214B2 (en) * 2011-09-23 2014-05-06 Fujitsu Limited Combining medical binary decision diagrams for analysis optimization

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02504682A (ja) * 1987-08-21 1990-12-27 コモンウエルス・サイエンティフィック・アンド・インダストリアル・リサーチ・オーガニゼイション 変換処理回路

Family Cites Families (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5365423A (en) 1992-01-08 1994-11-15 Rockwell International Corporation Control system for distributed sensors and actuators
CA2098037C (en) 1992-07-29 1998-12-22 Albert D. Baker Communication system enabling external control of system terminals
US5889881A (en) 1992-10-14 1999-03-30 Oncometrics Imaging Corp. Method and apparatus for automatically detecting malignancy-associated changes
US5491817A (en) 1993-05-25 1996-02-13 Bell Communications Research Inc. Linking system and method for accessing directory information about an object in one context when information in another context is known
US5392402A (en) 1993-06-29 1995-02-21 Bell Communications Research, Inc. Broadband intelligent telecommunications network and method employing a resource system to support network services
JPH07262175A (ja) 1994-03-18 1995-10-13 Fujitsu Ltd 関数変換演算装置
US5613137A (en) 1994-03-18 1997-03-18 International Business Machines Corporation Computer system with touchpad support in operating system
WO1996012187A1 (en) 1994-10-13 1996-04-25 Horus Therapeutics, Inc. Computer assisted methods for diagnosing diseases
JP4008049B2 (ja) 1995-03-20 2007-11-14 富士通株式会社 アドレス送信装置、アドレス送信方法およびアドレス送信システム
US5675707A (en) 1995-09-15 1997-10-07 At&T Automated call router system and method
CA2171067A1 (en) 1996-03-05 1997-09-06 Brian J. Andrews Neural prosthesis
US5913214A (en) 1996-05-30 1999-06-15 Massachusetts Inst Technology Data extraction from world wide web pages
US5802523A (en) 1996-06-21 1998-09-01 Oracle Corporation Method and apparatus for reducing the memory required to store bind variable descriptors in a database
US5805820A (en) 1996-07-15 1998-09-08 At&T Corp. Method and apparatus for restricting access to private information in domain name systems by redirecting query requests
US6907386B1 (en) 1997-03-11 2005-06-14 Siemens Aktiengesellschaft Method for computer-supported error analysis of sensors and/or actuators in a technical system
US5878218A (en) 1997-03-17 1999-03-02 International Business Machines Corporation Method and system for creating and utilizing common caches for internetworks
US6718239B2 (en) 1998-02-09 2004-04-06 I-Witness, Inc. Vehicle event data recorder including validation of output
EP1127323A1 (de) 1998-11-03 2001-08-29 Siemens Aktiengesellschaft Verfahren und anordnung zum vergleich einer ersten eigenschaft mit vorgegebenen eigenschaften eines technischen systems
US6513046B1 (en) 1999-12-15 2003-01-28 Tangis Corporation Storing and recalling information to augment human memories
US6480860B1 (en) 1999-02-11 2002-11-12 International Business Machines Corporation Tagged markup language interface with document type definition to access data in object oriented database
US6643648B1 (en) 1999-06-30 2003-11-04 Raf Technology, Inc. Secure, limited-access database system and method
JP4132441B2 (ja) 1999-07-19 2008-08-13 富士通株式会社 管理対象オブジェクトのデータ管理装置
US6430558B1 (en) 1999-08-02 2002-08-06 Zen Tech, Inc. Apparatus and methods for collaboratively searching knowledge databases
US6546385B1 (en) 1999-08-13 2003-04-08 International Business Machines Corporation Method and apparatus for indexing and searching content in hardcopy documents
US6842841B1 (en) 1999-09-21 2005-01-11 Storage Technology Corporation Method and system for dynamically selecting tape drives to connect with host computers
US6381597B1 (en) 1999-10-07 2002-04-30 U-Know Software Corporation Electronic shopping agent which is capable of operating with vendor sites which have disparate formats
US6298451B1 (en) 1999-11-02 2001-10-02 Idini Corporation Directory-based failure recovery and load balancing system
JP3919403B2 (ja) 1999-11-10 2007-05-23 能美防災株式会社 光電式煙感知器
US6480837B1 (en) 1999-12-16 2002-11-12 International Business Machines Corporation Method, system, and program for ordering search results using a popularity weighting
RU2286711C2 (ru) 2000-02-14 2006-11-10 Фёрст Опинион Корпорэйшн Система и способ автоматической диагностики
WO2001067351A1 (en) 2000-03-09 2001-09-13 The Web Access, Inc. Method and apparatus for performing a research task by interchangeably utilizing a multitude of search methodologies
US8711217B2 (en) 2000-10-24 2014-04-29 Objectvideo, Inc. Video surveillance system employing video primitives
US6807265B2 (en) 2000-12-22 2004-10-19 Bellsouth Intellectual Property Corporation System, method and apparatus for court-ordered surveillance of call records
FR2820914A1 (fr) 2001-02-15 2002-08-16 Bull Cp8 Procede de securisation d'un ensemble electronique mettant en oeuvre en algorithme cryptographique utilisant des operations booleennes et des operations arithmetiques, et systeme embarque correspondant
US7085748B2 (en) 2001-02-16 2006-08-01 International Business Machines Corporation Hyper-arc consistency in a contraint satisfaction network
US6813731B2 (en) 2001-02-26 2004-11-02 Emc Corporation Methods and apparatus for accessing trace data
US6965887B2 (en) 2001-03-21 2005-11-15 Resolutionebs, Inc. Rule processing methods for automating a decision and assessing satisfiability of rule-based decision diagrams
US7188091B2 (en) 2001-03-21 2007-03-06 Resolutionebs, Inc. Rule processing system
US6519355B2 (en) 2001-03-28 2003-02-11 Alan C. Nelson Optical projection imaging system and method for automatically detecting cells having nuclear and cytoplasmic densitometric features associated with disease
US6704723B1 (en) 2001-06-20 2004-03-09 Microstrategy, Incorporated Method and system for providing business intelligence information over a computer network via extensible markup language
US6778991B2 (en) 2001-09-27 2004-08-17 I2 Technologies Us, Inc. Dynamic load balancing using semantic traffic monitoring
US7159059B2 (en) 2002-03-01 2007-01-02 Mcneil Donald H Ultra-modular processor in lattice topology
US7062478B1 (en) 2002-03-20 2006-06-13 Resolutionebs, Inc. Method and apparatus using automated rule processing to configure a product or service
US7244230B2 (en) 2002-11-08 2007-07-17 Siemens Medical Solutions Usa, Inc. Computer aided diagnostic assistance for medical imaging
AU2004214014B2 (en) 2003-02-21 2009-10-22 Datacore Software Corporation Additional hash functions in content-based addressing
US7458936B2 (en) 2003-03-12 2008-12-02 Siemens Medical Solutions Usa, Inc. System and method for performing probabilistic classification and decision support using multidimensional medical image databases
US7043374B2 (en) 2003-03-26 2006-05-09 Celerity, Inc. Flow sensor signal conversion
CN1926541A (zh) 2004-03-17 2007-03-07 Abb研究有限公司 用于数据一致性验证的设备和方法
US7305637B2 (en) 2004-04-21 2007-12-04 Nec Laboratories America, Inc. Efficient SAT-based unbounded symbolic model checking
ATE400936T1 (de) 2004-09-24 2008-07-15 Synaptic Lab Ltd S-boxen
US20090226065A1 (en) 2004-10-09 2009-09-10 Dongqing Chen Sampling medical images for virtual histology
US7668632B2 (en) 2004-11-22 2010-02-23 The Boeing Company System, method and computer program product for real-time event identification and course of action interpretation
US7783094B2 (en) 2005-06-02 2010-08-24 The Medipattern Corporation System and method of computer-aided detection
US9179862B2 (en) 2005-07-19 2015-11-10 Board Of Regents Of The University Of Nebraska Method and system for assessing locomotive bio-rhythms
WO2007064654A1 (en) 2005-11-29 2007-06-07 Massachusetts Institute Of Technology Apparatus and method for blood pressure measurement by touch
IL185609A0 (en) 2007-08-30 2008-01-06 Dan Furman Multi function senssor
JP2008119145A (ja) 2006-11-09 2008-05-29 Olympus Medical Systems Corp 画像表示方法および画像表示装置
CN105581782B (zh) 2007-02-15 2018-05-15 皇家飞利浦电子股份有限公司 无线传感器的驻留注释
US7716997B2 (en) 2007-09-12 2010-05-18 Intel Corporation Parasitic tags for action annotation
US9589152B2 (en) 2007-09-19 2017-03-07 Visa U.S.A. Inc. System and method for sensitive data field hashing
US8621223B2 (en) 2008-06-30 2013-12-31 Raytheon Company Data security method and system
US8468142B2 (en) 2008-08-06 2013-06-18 Fujitsu Limited Caching query results with binary decision diagrams (BDDs)
GB2466341A (en) 2008-12-17 2010-06-23 Ibm Method of graphically creating binary expressions
US8387003B2 (en) 2009-10-27 2013-02-26 Oracle America, Inc. Pluperfect hashing
ES2786030T3 (es) 2010-03-23 2020-10-08 Reversinglabs Corp Filtrado de contenidos web en la nube
US8645108B2 (en) * 2010-08-17 2014-02-04 Fujitsu Limited Annotating binary decision diagrams representing sensor data
US8495038B2 (en) * 2010-08-17 2013-07-23 Fujitsu Limited Validating sensor data represented by characteristic functions
US8572146B2 (en) * 2010-08-17 2013-10-29 Fujitsu Limited Comparing data samples represented by characteristic functions
US9002781B2 (en) * 2010-08-17 2015-04-07 Fujitsu Limited Annotating environmental data represented by characteristic functions
US8930394B2 (en) * 2010-08-17 2015-01-06 Fujitsu Limited Querying sensor data stored as binary decision diagrams
US9138143B2 (en) * 2010-08-17 2015-09-22 Fujitsu Limited Annotating medical data represented by characteristic functions
US8874607B2 (en) * 2010-08-17 2014-10-28 Fujitsu Limited Representing sensor data as binary decision diagrams
US8583718B2 (en) * 2010-08-17 2013-11-12 Fujitsu Limited Comparing boolean functions representing sensor data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02504682A (ja) * 1987-08-21 1990-12-27 コモンウエルス・サイエンティフィック・アンド・インダストリアル・リサーチ・オーガニゼイション 変換処理回路

Also Published As

Publication number Publication date
US8583718B2 (en) 2013-11-12
GB2482959A (en) 2012-02-22
JP5751087B2 (ja) 2015-07-22
GB201113967D0 (en) 2011-09-28
US20120047191A1 (en) 2012-02-23

Similar Documents

Publication Publication Date Title
JP5699855B2 (ja) 特性関数によって表現されたデータ・サンプルの比較
JP5849520B2 (ja) 特性関数によって表現された環境データの注釈付け
WO2021143779A1 (zh) 一种基于知识图谱的跨科室慢性肾病早期诊断决策支持系统
JP6001831B2 (ja) 特性関数によって表現された医療データの注釈付け
JP5966807B2 (ja) 二分決定図を利用して処理を行うための方法、装置、記憶媒体及びシステム
JP5712860B2 (ja) 特性関数によって表現されたセンサー・データの有効確認
CN109241257B (zh) 一种基于知识图谱的智慧问答系统及其方法
CA3001912A1 (en) System and method for dynamic autonomous transactional identity management
JP2012040392A (ja) センサー・データの二分決定図としての表現
JP5751087B2 (ja) センサー・データを表すブール関数の比較
JP5691934B2 (ja) センサー・データを表す二分決定図の注釈付け
JP5691935B2 (ja) 二分決定図として格納されているセンサー・データの検索
CN115497616A (zh) 一种感染性疾病辅助决策的方法、系统、设备及存储介质
JP5962376B2 (ja) 分析の最適化のための医療向け二分決定図の結合
US9009161B2 (en) Data processing
CN114662337A (zh) 一种数据评价系统、装置及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140404

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150210

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150330

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150421

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150504

R150 Certificate of patent or registration of utility model

Ref document number: 5751087

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees