JPWO2013046669A1 - 空間充填曲線処理システム、空間充填曲線処理方法およびプログラム - Google Patents
空間充填曲線処理システム、空間充填曲線処理方法およびプログラム Download PDFInfo
- Publication number
- JPWO2013046669A1 JPWO2013046669A1 JP2013535917A JP2013535917A JPWO2013046669A1 JP WO2013046669 A1 JPWO2013046669 A1 JP WO2013046669A1 JP 2013535917 A JP2013535917 A JP 2013535917A JP 2013535917 A JP2013535917 A JP 2013535917A JP WO2013046669 A1 JPWO2013046669 A1 JP WO2013046669A1
- Authority
- JP
- Japan
- Prior art keywords
- space
- filling curve
- processing
- curve processing
- data
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Image Generation (AREA)
Abstract
空間充填曲線処理システムは、多次元空間の部分空間に対する処理を行うとき、処理目的と関連する多次元データを空間充填曲線処理することで得られる複数の1次元値のデータ群の密度分布あるいは累積分布を示す分布情報を参照し、部分空間に対応する1次元の値あるいは範囲のデータ密度を取得するデータ密度取得部(104)と、部分空間のデータ密度に応じて、空間充填曲線処理を行うか否かを判定する判定部(106)と、判定部(106)の判定結果に従い、空間充填曲線処理を行う空間充填曲線処理部(108)と、を備える。
Description
本発明は、空間充填曲線処理システム、空間充填曲線処理方法およびプログラムに関する。
空間充填曲線処理の一例が非特許文献1に記載されている。この非特許文献1記載の空間充填曲線処理方法は、空間充填曲線の変換を行うための状態遷移表を用い、多次元属性の範囲を入力として、その範囲に含まれるデータを格納したブロックを全て列挙する。ブロックとは、データを格納する物理的なディスクの一部の領域である。空間充填曲線により連続な1次元の範囲となる多次元データは、一つのブロックに格納される。すなわち、多次元属性値を1次元化して得られた値をキーとして、その順序で連続してこのブロックに格納される。与えられた多次元属性の範囲に属すデータを格納したブロックを列挙する際には、ブロックの区切りとなる1次元値を参照しながら、各ブロックについて逐次、与えられた多次元属性の範囲に含まれるか否かを判定し、含まれる場合にはそのブロックを結果に含め、含まれない場合は次のブロックを探す。
J. K. Lawder、外1名、"Using Space-Filling Curves for Multi-dimensional Indexing"、Advances in Databases: proceedings of the 17th British National Conference on Databases (BNCOD 17)、Lecture Notes in Computer Science (LNCS)、volume 1832、2000年、p.20−35
上述した文献に記載された技術においては、指定した多次元属性範囲に属するデータを格納したブロックを列挙することはできる。しかし、指定した多次元属性範囲と対応する複数の1次元範囲を処理する場合において、多次元属性の範囲(多次元空間の部分空間)に対する空間充填曲線処理を行う際に、高次元や長いビット長の処理に要する時間がかかるという問題点があった。その理由は、以下の通りである。ブロックを列挙する際には、ブロックが担当する1次元範囲と検索式で得られる多次元属性範囲が交差するか否かの判定だけでよかったため、処理が単純であった。しかし、与えられた多次元範囲に対応する複数の1次元範囲を個々に処理する場合には、1つの多次元属性の範囲と対応する1次元範囲は複数あり、その数は次元数とビット長に対して指数的に増加するため、処理に時間がかかる。
本発明の目的は、上述した課題である空間充填曲線処理の高負荷を解決する空間充填曲線処理システム、空間充填曲線処理方法、およびプログラムを提供することにある。
本発明の空間充填曲線処理システムは、
多次元空間の部分空間に対する目的の処理を行うとき、処理目的と関連する多次元データを空間充填曲線処理することで得られる複数の1次元値のデータ群の密度分布あるいは累積分布を示す分布情報を参照し、前記部分空間に対応する1次元の値あるいは範囲のデータ密度を取得する取得手段と、
取得した前記部分空間の前記データ密度に応じて、空間充填曲線処理を行うか否かを判定する判定手段と、
前記判定手段の判定結果に従い、前記空間充填曲線処理を行う空間充填曲線処理手段と、を備える。
多次元空間の部分空間に対する目的の処理を行うとき、処理目的と関連する多次元データを空間充填曲線処理することで得られる複数の1次元値のデータ群の密度分布あるいは累積分布を示す分布情報を参照し、前記部分空間に対応する1次元の値あるいは範囲のデータ密度を取得する取得手段と、
取得した前記部分空間の前記データ密度に応じて、空間充填曲線処理を行うか否かを判定する判定手段と、
前記判定手段の判定結果に従い、前記空間充填曲線処理を行う空間充填曲線処理手段と、を備える。
本発明の空間充填曲線処理方法は、
処理目的と関連する多次元データを空間充填曲線処理するデータ処理装置が、
多次元空間の部分空間に対する処理を行うとき、前記多次元データを前記空間充填曲線処理することで得られる複数の1次元値のデータ群の密度分布あるいは累積分布を示す分布情報を参照し、前記部分空間に対応する1次元の値あるいは範囲のデータ密度を取得し、
前記部分空間の前記データ密度に応じて、空間充填曲線処理を行うか否かを判定し、
判定結果に従い、空間充填曲線処理を行う。
処理目的と関連する多次元データを空間充填曲線処理するデータ処理装置が、
多次元空間の部分空間に対する処理を行うとき、前記多次元データを前記空間充填曲線処理することで得られる複数の1次元値のデータ群の密度分布あるいは累積分布を示す分布情報を参照し、前記部分空間に対応する1次元の値あるいは範囲のデータ密度を取得し、
前記部分空間の前記データ密度に応じて、空間充填曲線処理を行うか否かを判定し、
判定結果に従い、空間充填曲線処理を行う。
本発明のコンピュータプログラムは、
空間充填曲線処理を行うデータ処理装置を実現するコンピュータに、
多次元空間の部分空間に対する目的の処理を行うとき、処理目的と関連する多次元データを空間充填曲線処理することで得られる複数の1次元値のデータ群の密度分布あるいは累積分布を示す分布情報を参照し、前記部分空間に対応する1次元の値あるいは範囲のデータ密度を取得する手順、
前記部分空間の前記データ密度に応じて、空間充填曲線処理を行うか否かを判定する手順、
前記判定する手順の判定結果に従い、前記空間充填曲線処理を行う手順を実行させるためのものである。
空間充填曲線処理を行うデータ処理装置を実現するコンピュータに、
多次元空間の部分空間に対する目的の処理を行うとき、処理目的と関連する多次元データを空間充填曲線処理することで得られる複数の1次元値のデータ群の密度分布あるいは累積分布を示す分布情報を参照し、前記部分空間に対応する1次元の値あるいは範囲のデータ密度を取得する手順、
前記部分空間の前記データ密度に応じて、空間充填曲線処理を行うか否かを判定する手順、
前記判定する手順の判定結果に従い、前記空間充填曲線処理を行う手順を実行させるためのものである。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
また、本発明の各種の構成要素は、必ずしも個々に独立した存在である必要はなく、複数の構成要素が一個の部材として形成されていること、一つの構成要素が複数の部材で形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でもよい。
また、本発明の方法およびコンピュータプログラムには複数の手順を順番に記載してあるが、その記載の順番は複数の手順を実行する順番を限定するものではない。このため、本発明の方法およびコンピュータプログラムを実施するときには、その複数の手順の順番は内容的に支障のない範囲で変更することができる。
さらに、本発明の方法およびコンピュータプログラムの複数の手順は個々に相違するタイミングで実行されることに限定されない。このため、ある手順の実行中に他の手順が発生すること、ある手順の実行タイミングと他の手順の実行タイミングとの一部ないし全部が重複していること、等でもよい。
本発明によれば、処理精度の劣化を抑えながら、効率のよい処理を実現する空間充填曲線処理システム、空間充填曲線処理方法、およびプログラムが提供される。
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
(第1の実施の形態)
図1は、本発明の実施の形態に係る空間充填曲線処理システムのデータ処理装置100の構成を示す機能ブロック図である。
図1は、本発明の実施の形態に係る空間充填曲線処理システムのデータ処理装置100の構成を示す機能ブロック図である。
空間充填曲線処理とは、多次元属性のデータ群を1次元化する処理であり、たとえば、データ群の中の1つの多次元属性値を入力として、対応する1次元値を出力する。変換の際に、図2に示す、変換する次元数に応じた変換規則表を用いてもよい。この変換規則表は、複数の変換規則表状態の間での遷移として表され、ある変換規則状態であった時に、ある先頭ビットからのビット位置における各次元の値の組合せを入力として、次の遷移先の変換規則状態と、対応する1次元値の組合せを出力するものである。
空間充填曲線処理により1次元化された値の集合を一つの1次元範囲と対応するブロック単位で管理する場合、与えられた多次元属性の範囲と交差するブロックを列挙するためには、与えられた多次元範囲と対応する複数の1次元範囲を個別に処理する必要はない。さらに、この場合、各ブロックの1次元範囲の端点を参照しながら、与えられた多次元範囲とそのブロックとが交差するか否かのみを判定することで効率化することができる。しかし、与えられた多次元範囲と対応する複数の1次元範囲を個別に処理する必要のある場合は、空間充填曲線処理は、次元数とビット数が大きい場合に処理すべき空間および計算量が増える。
本発明の実施の形態に係る空間充填曲線処理システムでは、空間充填曲線処理を行う際に、予め、処理と関連するデータ集合の各データを空間充填曲線処理で1次元値とし、その1次元値の集合の分布情報を生成しておく。そして、その分布情報を参照しながら空間充填曲線の部分空間に関する処理を行うことで、その部分空間のデータ密度が推定できる。そのデータ密度がある基準より少なければ、その部分空間の処理を行わないようにすることができる。これにより、ブロックより細かい空間自体の処理を必要とする場合についても、処理精度の劣化を少なく抑えつつ、処理の高速化を実現することができる。
本発明の実施の形態に係る空間充填曲線処理システムは、データベースシステムあるいはデータストリームシステム、Pub/Sub(Publish/Subscribe)システムなどにおいて、多次元範囲検索あるいは多次元属性値を条件づけしたイベント駆動システムとして利用することができる。また、本発明の実施の形態に係る空間充填曲線処理システムは、複雑な検索式の実行順序を決定する際に、データ検索を行う前の選択率推定(selectivity estimation)としても利用可能である。
図1に示すように、本発明の実施の形態に係る空間充填曲線処理システムは、多次元空間の部分空間に対する目的の処理を行うとき、処理目的と関連する多次元データを空間充填曲線処理することで得られる複数の1次元値のデータ群の密度分布あるいは累積分布を示す分布情報を参照し、部分空間に対応する1次元の値あるいは範囲のデータ密度を取得するデータ密度取得部104と、部分空間のデータ密度に応じて、空間充填曲線処理を行うか否かを判定する判定部106と、判定部106の判定結果に従い、空間充填曲線処理を行う空間充填曲線処理部108と、を備える。
本実施形態のデータ処理装置100は、たとえば、サーバコンピュータやパーソナルコンピュータ、またはそれらに相当する装置により実現することができる。
また、以下の各図において、本発明の本質に関わらない部分の構成については省略してあり、図示されていない。
また、以下の各図において、本発明の本質に関わらない部分の構成については省略してあり、図示されていない。
また、本実施形態のデータ処理装置100の各構成要素は、CPU(Central Processing Unit)、メモリ、メモリにロードされた各図の構成要素を実現するプログラム、そのプログラムを格納するハードディスクなどの記憶ユニット、ネットワーク接続用インタフェースを含む任意のコンピュータ(不図示)のハードウェアとソフトウェアの任意の組合せによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。以下説明する各図は、ハードウェア単位の構成ではなく、機能単位のブロックを示している。
コンピュータのCPUが、ハードディスクに記憶されるプログラムをメモリに読み出して実行することにより、データ処理装置100の各図の各ユニットの各機能を実現することができる。
コンピュータのCPUが、ハードディスクに記憶されるプログラムをメモリに読み出して実行することにより、データ処理装置100の各図の各ユニットの各機能を実現することができる。
本実施の形態のデータ処理装置100は、コンピュータプログラムに対応する各種の処理動作をCPUが実行することにより、本実施形態で説明する各種ユニットが各種機能として実現される。
本実施形態のコンピュータプログラムは、空間充填曲線処理を行うデータ処理装置100を実現するコンピュータに、多次元空間の部分空間に対する処理を行うとき、処理目的と関連する多次元データを空間充填曲線処理することで得られる複数の1次元値のデータ群の密度分布あるいは累積分布を示す分布情報を参照し、部分空間に対応する1次元の値あるいは範囲のデータ密度を取得する手順、部分空間のデータ密度に応じて、空間充填曲線処理を行うか否かを判定する手順、判定する手順の判定結果に従い、空間充填曲線処理を行う手順、を実行させるように記述されている。
本実施形態のコンピュータプログラムは、コンピュータで読み取り可能な記録媒体に記録されてもよい。記録媒体は特に限定されず、様々な形態のものが考えられる。また、プログラムは、記録媒体からコンピュータのメモリにロードされてもよいし、ネットワークを通じてコンピュータにダウンロードされ、メモリにロードされてもよい。
具体的には、本実施形態の空間充填曲線処理システムは、分布格納部102と、データ密度取得部104と、判定部106と、空間充填曲線処理部108とを有するデータ処理装置100を備える。
分布格納部102は、処理目的と関連する多次元データを空間充填曲線処理することで得られる複数の1次元値のデータ群の密度分布あるいは累積分布を示す分布情報を記憶する。
データ密度取得部104は、多次元空間の部分空間に対する目的の処理を行うとき、部分空間に対応する1次元の値あるいは範囲のデータ密度を取得する。
データ密度取得部104は、多次元空間の部分空間に対する目的の処理を行うとき、部分空間に対応する1次元の値あるいは範囲のデータ密度を取得する。
判定部106は、多次元空間の部分空間に対する目的の処理を行うとき、データ密度取得部104が取得した、部分空間のデータ密度に応じて、空間充填曲線処理を行うか否かを判定する。
空間充填曲線処理部108は、多次元空間の部分空間に対する目的の処理を行うとき、判定部106の判定結果に従い、空間充填曲線処理を行う。
空間充填曲線処理部108は、多次元空間の部分空間に対する目的の処理を行うとき、判定部106の判定結果に従い、空間充填曲線処理を行う。
また、本実施形態の空間充填曲線処理システムのデータ処理装置100は、さらに、図3に示すように、分布格納部102に格納される分布情報を生成するための構成として、データ格納部112と、空間充填曲線1次元化部114と、1次元値格納部116と、分布算出部118と、を備えることができる。他の実施形態において、分布情報は、他のシステムから与えられたものや既存のものでもよい。
図3では、データ処理装置100は、図1で示したデータ密度取得部104、判定部106、および空間充填曲線処理部108を含む空間充填曲線処理部110と、図1の分布格納部102と、を備えるものとして示してある。
データ格納部112は、たとえば、当該システムで処理目的となる多次元属性データ群の少なくとも一部、あるいは、分布情報が類似したデータ群が予めサンプルとして与えられ格納される。
空間充填曲線1次元化部114は、1つの多次元属性値を入力として、対応する1次元値を出力する。その変換の際に、図2を用いて上述した、変換する次元数に応じた変換規則表を用いてもよい。
図4に、図2の変換規則表を用いた変換処理の例を示す。図4には、先頭ビットを根とし、下位ビットを葉とする木構造であり、多次元の属性値の各ビットに応じて、異なる枝に分岐し、先頭ビットから下位ビットへと進むに従って、変換後の木構造も枝へと進む様子を描いている。なお、各枝に記された値はあるビット目の多次元値であり、その左端からの距離で変換後の1次元値を表している。
たとえば、多次元データが(x,y)=(7,9)である時、これらは2ビット表記で(0111,1001)と表される。初期状態は状態0であるとし、ここに先頭ビットの各次元の組合せである(0,1)を入力する。図2の状態0における上段の多次元値が01である左上に対応する1次元値は01であり、遷移先は状態0である。次の先頭から2ビット目の各次元の組合せである(1,0)と対応する、状態0での多次元値10に対しては、1次元値が11であり遷移先は2である。
ここで、先に得られた1次元値01の下位ビットに得られた1次元値を加え0111がこの状態での1次元値である。続いて、先頭から3ビット目の各次元の組合せである(1,0)と対応する、状態2での多次元値10に対しては、1次元値が11であり状態0となる。このように、空間充填曲線1次元化部114は、各ビットで得られる1次元値から多次元属性値に対応する1次元値を出力する。
1次元値格納部116は、空間充填曲線1次元化部114が出力した1次元値を格納する。
1次元値格納部116は、空間充填曲線1次元化部114が出力した1次元値を格納する。
分布算出部118は、処理目的と関連する多次元データを空間充填曲線処理することで得られる複数の1次元値のデータ群を入力として、そのデータ群の密度分布あるいは累積分布を示す分布情報を生成する。すなわち、分布算出部118は、1次元値格納部116に格納された複数のデータから、そのデータの分布情報を生成する。ここで生成される分布情報は、ある値におけるデータの密度を表した密度分布(図5(a)の502)でも、ある値以下のデータの割合を表した累積分布(図6(a)の512)でもよい。生成された分布情報は、分布格納部102に格納される。
また、格納される形式は、カーネル密度関数法のように格納される元のデータと任意の関数からその分布を表現する方法(図7の522)としてもよい。その場合、格納形式は、元のデータと関数およびパラメータとなる。あるいは、図5(b)または図6(b)に示すようなヒストグラムの表504またはヒストグラムの表514として表されるような、ある値の範囲に対する度数または累積分布を管理する形式として生成および格納してもよい。
また、別の形式として、ある値を入力して、その値における密度や累積密度を得やすいように、ヒストグラムを区間の傾きとして1次関数を求め、求めた1次関数形式として保持してもよい(図8(a)のグラフ532および図8(b)の表534)。
図3に戻り、空間充填曲線処理部110は、与えられた多次元属性の部分空間の処理を行うとき、分布格納部102に格納された分布情報を参照し、データ密度に応じて空間充填曲線処理を行い、目的とする処理結果を出力する。
空間充填曲線処理部110は、多次元空間の各部分空間を細分化して段階的に空間充填曲線処理を繰り返し行う過程において、データ密度が閾値以上の各部分空間に対してのみ、段階的に細分化を行い、空間充填曲線処理を所定回数繰り返す。そして、空間充填曲線処理部110は、データ密度が閾値未満の各部分空間に対しては、それ以上の細分化を行わず、前記空間充填曲線処理を中止する。
空間充填曲線処理部110は、図2の変換規則表を参照するなどして、入力として与えられた多次元空間の部分空間に対応する処理を、各次元の先頭ビットの組合せから下位ビットに進めて処理を行う(図11)。その多次元空間内の処理中の箇所を表すポインタを、さらにビット位置を深く進めるか否か判断する際に、図1のデータ密度取得部104がそのポインタの指す多次元の値あるいは範囲と対応する1次元値あるいは1次元値の範囲を求め、図1の分布格納部102の分布情報602を参照して、その値あるいは範囲に対応するデータの密度を取得する。
そして、図1の判定部106が、データの密度がある一定の規則で小さいか否かを判定する。図3の空間充填曲線処理部110は、判定結果に従い、データの密度がある一定の規則で小さいと判断されれば、深く進める処理は行わない(図11の処理604)。データ密度が一定の規則で大きいと判断された場合は、深く進める処理を行う(図11の処理606)。
本実施形態の空間充填曲線処理部110により得られる1次元化された範囲は、図11の範囲614のようになる。一方、データ密度に基づく判断をせずに一律に予め定めた深さまで処理を進めた場合に得られる1次元化された範囲は、図11の範囲612のようになる。密度分布の分布情報602における密度の高い領域では、範囲612と範囲614は同じ粒度で探索するが、密度の低い領域では範囲612では細粒度での探索を行わず、粗粒度での探索を行い、そこでの処理結果を近似結果とする。
空間充填曲線処理部110が入力として与えられた多次元空間の部分空間に対して行う処理は具体的には、以下のものが挙げられる。
(a)多次元範囲検索のための、与えられた多次元範囲に対応する1次元値の範囲を複数取得する処理
(b)与えられた多次元属性値から近傍のデータを、指定した数取得する最近傍探索のための1次元範囲を順序づけて取得する処理
(c)多次元範囲検索の選択率を推定するために、与えられた多次元範囲に対応する複数の1次元値範囲の総範囲幅を取得する処理
(d)多次元属性分布を可視化するヒストグラム表示のための、ある特定された次元の値とそこでのデータ密度またはデータ量を取得する処理
(a)多次元範囲検索のための、与えられた多次元範囲に対応する1次元値の範囲を複数取得する処理
(b)与えられた多次元属性値から近傍のデータを、指定した数取得する最近傍探索のための1次元範囲を順序づけて取得する処理
(c)多次元範囲検索の選択率を推定するために、与えられた多次元範囲に対応する複数の1次元値範囲の総範囲幅を取得する処理
(d)多次元属性分布を可視化するヒストグラム表示のための、ある特定された次元の値とそこでのデータ密度またはデータ量を取得する処理
多次元空間の部分空間に対する処理が、多次元の属性値または範囲に対応する1次元の属性値または範囲を複数取得する検索処理であるとき、空間充填曲線処理部110は、データ密度に応じて空間充填曲線処理を中止した各部分空間と、所定回数前記空間充填曲線処理を行い得られた各部分空間とを検索範囲として求める。
データ処理装置100の各ユニットはそれぞれ概略つぎのように動作する。
データ格納部112に格納された処理目的と関連する多次元属性のデータ集合から、その集合の全てあるいは一部のデータ要素に対して、各々のデータを空間充填曲線1次元化部114にて空間充填曲線処理を施して1次元化し、これを1次元値格納部116に記憶する。続いて、分布算出部118が、1次元値格納部116に格納されたデータ集合から、分布情報(ヒストグラム)を生成し分布格納部102に格納する。このようにして、分布情報が生成され、分布格納部102に格納される。
データ格納部112に格納された処理目的と関連する多次元属性のデータ集合から、その集合の全てあるいは一部のデータ要素に対して、各々のデータを空間充填曲線1次元化部114にて空間充填曲線処理を施して1次元化し、これを1次元値格納部116に記憶する。続いて、分布算出部118が、1次元値格納部116に格納されたデータ集合から、分布情報(ヒストグラム)を生成し分布格納部102に格納する。このようにして、分布情報が生成され、分布格納部102に格納される。
空間充填曲線処理部110は、与えられた多次元属性の部分空間の処理を行う際に、分布格納部102に記憶された分布情報を参照し、空間充填曲線処理部110の目的とする処理結果を出力する。
詳細には、与えられた多次元空間の部分空間に対する条件を満たす複数の1次元範囲を処理する際に、空間充填曲線処理を表す状態遷移表の根ノード(多次元の先頭ビットと対応)から葉ノード(下位ビット)へと探索する。探索しながら、その探索ポインタと分布格納部102に格納されたヒストグラムに基づき、その探索領域と対応する密度を得る。たとえば、探索ポインタと対応する1次元値と木の階層(ビット位置)とから決まる1次元範囲を算出し、その範囲の両端点を、ヒストグラムを示す分布関数に入力し、その値の差からその1次元値に対応する密度を得る。その密度に応じて、探索ポインタが探索する範囲を、本来処理すべき範囲を削減することで、探索空間を低減するように動作する。
このような動作により、空間充填曲線処理を行う目的に応じて、その厳密な精度が不要な場合に、省略してもその精度に影響が少ない処理を省略することができ、本発明の目的を達成することができる。
上述のような構成において、本実施の形態の空間充填曲線処理システムにおけるデータ処理装置100による空間充填曲線処理方法を以下に説明する。図10は、本実施形態の空間充填曲線処理システムの動作の一例を示すフローチャートである。
本実施形態の空間充填曲線処理方法は、処理目的と関連する多次元データを空間充填曲線処理するデータ処理装置100が、多次元空間の部分空間に対する処理を行うとき、多次元データを空間充填曲線処理することで得られる複数の1次元値のデータ群の密度分布あるいは累積分布を示す分布情報を参照し、部分空間に対応する1次元の値あるいは範囲のデータ密度を取得し(ステップS205)、部分空間のデータ密度に応じて、空間充填曲線処理を行うか否かを判定し(ステップS207)、判定結果に従い、空間充填曲線処理を行う(ステップS209)。
このように構成された本実施形態の空間充填曲線処理システムの動作について、以下に説明する。
まず、本実施形態の空間充填曲線処理システムのデータ処理装置100において分布情報を生成する処理手順について説明する。
図9は、本実施形態の空間充填曲線処理システムのデータ処理装置100の分布情報生成処理の手順の一例を示すフローチャートである。以下、図3および図9を用いて説明する。
まず、本実施形態の空間充填曲線処理システムのデータ処理装置100において分布情報を生成する処理手順について説明する。
図9は、本実施形態の空間充填曲線処理システムのデータ処理装置100の分布情報生成処理の手順の一例を示すフローチャートである。以下、図3および図9を用いて説明する。
ここでは、データ格納部112に格納された多次元データのそれぞれについて、ステップS101〜ステップS111の間のループ処理を繰り返す。まず、空間充填曲線1次元化部114が、多次元データの1次元化を行う(ステップS103)。そして、空間充填曲線1次元化部114が、得られた1次元値を、1次元値格納部116に格納する(ステップS105)。次に、分布算出部118が、1次元値格納部116に格納されたデータから、累積分布情報を導出し(ステップS107)、分布格納部102に格納する(ステップS109)。
次に、本実施形態の空間充填曲線処理システムのデータ処理装置100において、処理目的と関連する多次元データを空間充填曲線処理するときの手順について説明する。
図10は、本実施形態の空間充填曲線処理システムのデータ処理装置100の空間充填曲線処理の手順の一例を示すフローチャートである。以下、図1、図3および図10を用いて説明する。
図10は、本実施形態の空間充填曲線処理システムのデータ処理装置100の空間充填曲線処理の手順の一例を示すフローチャートである。以下、図1、図3および図10を用いて説明する。
本実施形態では、与えられた多次元空間の部分空間に対しての空間充填曲線処理において、その部分空間を構成する各部分空間について、ステップS201〜ステップS213の間のループ処理を繰り返す。
まず、空間充填曲線処理部110が、その部分空間の多次元属性値あるいは属性範囲と対応する1次元値あるいは1次元範囲を取得する(ステップS203)。そして、空間充填曲線処理部110(図1のデータ密度取得部104)が、その1次元値あるいは1次元範囲と対応するデータ密度を分布格納部102に記憶された分布情報から取得する(ステップS205)。そして、空間充填曲線処理部110が、そのデータ密度からその部分空間の処理を進めるか否かを判定する(ステップS207)。処理を進める場合は(ステップS207のYES)、空間充填曲線処理部110が、この部分空間を入力として空間充填曲線処理を再帰的に行う(ステップS209)。処理された結果は、このステップS209での結果として反映される(ステップS211)。処理を進めない場合(ステップS207のNO)、または、ステップS211の後、ステップS201に戻り、次の部分空間に対してループ処理を繰り返す。全ての部分空間に対する処理を終えると、ループ処理を終了し(ステップS213)、空間充填曲線処理部110は、結果を出力し、結果を処理の要求元に返す(ステップS215)。
まず、空間充填曲線処理部110が、その部分空間の多次元属性値あるいは属性範囲と対応する1次元値あるいは1次元範囲を取得する(ステップS203)。そして、空間充填曲線処理部110(図1のデータ密度取得部104)が、その1次元値あるいは1次元範囲と対応するデータ密度を分布格納部102に記憶された分布情報から取得する(ステップS205)。そして、空間充填曲線処理部110が、そのデータ密度からその部分空間の処理を進めるか否かを判定する(ステップS207)。処理を進める場合は(ステップS207のYES)、空間充填曲線処理部110が、この部分空間を入力として空間充填曲線処理を再帰的に行う(ステップS209)。処理された結果は、このステップS209での結果として反映される(ステップS211)。処理を進めない場合(ステップS207のNO)、または、ステップS211の後、ステップS201に戻り、次の部分空間に対してループ処理を繰り返す。全ての部分空間に対する処理を終えると、ループ処理を終了し(ステップS213)、空間充填曲線処理部110は、結果を出力し、結果を処理の要求元に返す(ステップS215)。
以上説明したように、本発明の実施の形態に係る空間充填曲線処理システムによれば、データ密度の少ない空間の処理を省く判断ができ、これにより少ない処理精度の低減で、処理の高速化を実現できる。たとえば、空間充填曲線処理を行う目的の処理である、範囲検索や選択率推定、近似件数検索、分布可視化等の処理の応答時間を速くできる。その理由は、多次元空間の部分空間に対する空間充填曲線処理を行う際に、処理中の部分空間に対応するデータ密度が参照可能であり、そのデータ密度に応じて部分空間を細分化して処理するか否かを判定するように構成されているためである。言い換えれば、ある空間に対して空間充填曲線処理を行う際に、その処理を省いた時の精度の低下を、元の多次元属性の値を空間充填曲線処理によって1次元化して得られる密度分布(ヒストグラム)を参照することで判断することができ、それを判断指標として探索範囲を決定することで、精度に対する影響を少なく高速処理ができる。
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
まず、本実施例の比較例として、分布情報のデータ密度を考慮せず、2次元の範囲検索に対して、それに対応する1次元範囲を複数求める処理について図12を用いて説明する。
ここでは、各々の多次元データが、算出された1次元値のアドレスのノードに格納されているとする。しかし、本発明の処理の後段で、算出されたアドレスのノードから取得されたデータに対して、元の検索が適用され、検索結果とするか否かの判断が行われるとする。そのため、ここで求める複数の1次元の範囲は、本来検索式で得られるデータを全て含まなければならない。その一方で、求める複数の1次元の範囲が、検索式に適合しないデータが含まれていても問題ない。
図12に示す2次元の範囲検索では、第1属性xが0〜14の範囲、第2属性yが8〜9の範囲を検索するものとし、それぞれのビットパターンの範囲が[0000,1110]と[1000,1001]であるとする。なお、以下、記号“[”や、記号“]”は閉区間を表し、記号“(”や記号“)”は開区間を表す。
先頭ビット701では、01と11を満たす範囲が検索対象であるため、図12の範囲711が検索対象となる。次のビット702では、先頭ビット701が01であるものに対しては00と10、先頭ビット701が11であるものに対しては00と10が検索対象となり、図12の範囲712と対応する。このように、比較例では、第3ビット703目では、合計7つのノードに関して、対応する1次元範囲の検索を行う必要がある。このようにして、求められた検索範囲は、図12の範囲713が対応する。
先頭ビット701では、01と11を満たす範囲が検索対象であるため、図12の範囲711が検索対象となる。次のビット702では、先頭ビット701が01であるものに対しては00と10、先頭ビット701が11であるものに対しては00と10が検索対象となり、図12の範囲712と対応する。このように、比較例では、第3ビット703目では、合計7つのノードに関して、対応する1次元範囲の検索を行う必要がある。このようにして、求められた検索範囲は、図12の範囲713が対応する。
次に、実施例について、以下説明する。実施例として、分布情報を参照し、データ密度を考慮して、2次元の範囲検索に対して、それに対応する1次元範囲を複数求める処理について説明する。
なお、与えられた多次元属性範囲に対応する処理を先頭ビットから行う際、深さ優先探索と幅優先探索とで処理を行うことができる。深さ優先探索では、多次元属性の空間の探索方法として、複数の結果が得られた場合に一つの結果についてのみビットを先に進める。たとえば、図10を用いて説明すると、空間充填曲線処理部110が、先頭ビットに関して多次元属性範囲の条件に合致するか確認する(ステップS201のループ1回目におけるステップS207、ステップS207がYESの場合、ステップS209とステップS211)。そして、空間充填曲線処理部110が、得られた結果のうちの一つの結果についてまず2ビット目に関する条件を判定し(ステップS201のループ2回目におけるステップS207、ステップS207がYESの場合、ステップS209とステップS211)、得られた結果のうちのさらに一つについて、3ビット目を処理する(ステップS201のループ3回目におけるステップS207、ステップS207がYESの場合、ステップS209とステップS211)。
たとえば、本実施形態のデータ処理装置100において、部分空間を格納する探索リストをデータ密度の順でソートして用意し、密度の高い順で取り出し、部分空間の中でさらに条件を満たす部分空間を追加し、再度、次の部分空間を取り出してもよい。一定の計算時間で処理するために、一定の部分空間を処理した時点で停止してもよい。一定のフォルスドロップ(False Drop)率とするために、条件を満たさない部分空間を条件に合うとして処理するデータ密度が一定以上となった時に停止してもよい。
一方、幅優先探索では、複数の結果が得られた場合に、特定の結果についてビットを先に進めることは行わず、全ての結果についてなるべく同じビットを扱うように処理を進める。幅優先探索は、深さ優先探索に比較して、一定の計算時間で、できる限り少ないフォルスドロップ率を実現できる。あるいは、一定のフォルスドロップ率で、なるべく短い計算時間で処理するようにすることができる。
以下、本実施例では、図13〜図15を用いて、深さ優先探索を例として説明する。
本実施例では、検索対象のデータからサンプリングで得られる一部のデータ800(図13)から、分布算出部118(図3)が累積分布の分布関数として表される分布情報801(図14)を生成したとする。この分布情報801を参照しながら、空間充填曲線処理部110が、2次元の範囲検索を行う例を示す。
本実施例では、検索対象のデータからサンプリングで得られる一部のデータ800(図13)から、分布算出部118(図3)が累積分布の分布関数として表される分布情報801(図14)を生成したとする。この分布情報801を参照しながら、空間充填曲線処理部110が、2次元の範囲検索を行う例を示す。
まず、先頭ビット811(図14)では、01と11を満たす範囲821(図15(a))が検索対象であり、対応する1次元のビットはそれぞれ01と10である。次に、図12と同様に先頭ビット811の多次元値が01であるものに対しては00と10の多次元値(対応する1次元値は00と11)、先頭ビット811が11であるものに対しては00と10が検索対象となる(対応する1次元値は00と11)。これらを満たす検索範囲は図15(b)の範囲822が対応する。
ここで、先頭ビット811の多次元値が01で、第2ビット812(図14)が00である1次元値の4ビット目までは0100であり、それ以降のビットからなる空間と対応する1次元範囲は[01000000,01010000)となる。10進法では[64,80)となる。この範囲のデータ密度を算出するために、この累積分布に対してこの両端の値を入力し、その差を得ると、この例では0となる。この結果は、データ密度が十分小さいと判断でき、この部分空間(先頭が01、1ビット目が00)をさらに分割する処理を進めることは行わず、この部分空間は全て処理対象とするものとして、次の部分空間(先頭が01、1ビット目10)の処理を進める。
なお、ここでの処理は多次元範囲と対応する1次元範囲を出力することであるので、この1次元範囲[01000000,01010000)は全て検索対象に含まれると見なすことができる。一方、次の部分空間(先頭が01、1ビット目10)の処理では、その部分空間の1次元範囲が[01111000,10000000)、10進法では[120,128)となる。この範囲のデータ密度を、前記分布情報を用いて算出すると、十分大きな値となるので、第3ビット813(図14)への処理を進める。
このようにしてデータ分布を参照しながら、データ処理を行うことで、データ密度の高い箇所は下位ビットまで空間充填曲線処理を進め、データ密度の低い箇所は、空間充填曲線の上位ビットでその下位ビットに関する処理を省略し、その範囲全てに対するデータ処理を行う。
このように本実施例では、分布情報の密度データを考慮したことで、第3ビット目813では、合計3つのノードに関して、対応する1次元範囲の検索を行えばよいことになる。上記比較例の場合に比較して、検索対象となるノード数が7から3に減少していることがわかる。なお、求められた検索範囲は、図15(c)の範囲823が対応する。
以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
処理目的と関連する多次元データを空間充填曲線処理するデータ処理装置が、
多次元空間の部分空間に対する処理を行うとき、前記多次元データを前記空間充填曲線処理することで得られる複数の1次元値のデータ群の密度分布あるいは累積分布を示す分布情報を参照し、前記部分空間に対応する1次元の値あるいは範囲のデータ密度を取得し、
前記部分空間の前記データ密度に応じて、空間充填曲線処理を行うか否かを判定し、
判定結果に従い、空間充填曲線処理を行う空間充填曲線処理方法。
(付記2)
付記1に記載の空間充填曲線処理方法において、
前記データ処理装置が、
前記多次元空間の各部分空間を細分化して段階的に前記空間充填曲線処理を繰り返し行う過程において、
前記データ密度が閾値以上の各部分空間に対してのみ、段階的に細分化を行い、前記空間充填曲線処理を所定回数繰り返し、
前記データ密度が閾値未満の各部分空間に対しては、それ以上の細分化を行わず、前記空間充填曲線処理を中止する空間充填曲線処理方法。
(付記3)
付記2に記載の空間充填曲線処理方法において、
前記多次元空間の部分空間に対する処理が、多次元の属性値または範囲に対応する1次元の属性値または範囲を複数取得する検索処理であるとき、
前記データ処理装置が、
前記データ密度に応じて前記空間充填曲線処理を中止した各部分空間と、前記所定回数前記空間充填曲線処理を行い得られた各部分空間とを検索範囲として求める空間充填曲線処理方法。
(付記4)
付記1乃至3いずれかに記載の空間充填曲線処理方法において、
前記データ処理装置が、分布情報記憶装置をさらに備え、
前記データ処理装置が、
処理目的と関連する多次元データを空間充填曲線処理することで得られる複数の1次元値のデータ群を入力として、そのデータ群の密度分布あるいは累積分布を示す分布情報を生成し、
生成された前記分布情報を前記分布情報記憶装置に記憶し、
前記分布情報記憶装置に記憶された分布情報を参照し、前記部分空間に対応する1次元の値あるいは範囲のデータ密度を取得する空間充填曲線処理方法。
(付記5)
空間充填曲線処理を行うデータ処理装置を実現するコンピュータに、
多次元空間の部分空間に対する処理を行うとき、処理目的と関連する多次元データを空間充填曲線処理することで得られる複数の1次元値のデータ群の密度分布あるいは累積分布を示す分布情報を参照し、前記部分空間に対応する1次元の値あるいは範囲のデータ密度を取得する手順、
前記部分空間の前記データ密度に応じて、空間充填曲線処理を行うか否かを判定する手順、
前記判定する手順の判定結果に従い、前記空間充填曲線処理を行う手順を実行させるためのプログラム。
(付記6)
付記5に記載のプログラムにおいて、
前記多次元空間の各部分空間を細分化して段階的に前記空間充填曲線処理を繰り返し行う手順、
前記段階的に前記空間充填曲線処理を繰り返し行う手順の過程において、
前記データ密度が閾値以上の各部分空間に対してのみ、段階的に細分化を行い、前記空間充填曲線処理を所定回数繰り返す手順、
前記データ密度が閾値未満の各部分空間に対しては、それ以上の細分化を行わず、前記空間充填曲線処理を中止する手順をコンピュータに実行させるためのプログラム。
(付記7)
付記6に記載のプログラムにおいて、
前記多次元空間の部分空間に対する処理が、多次元の属性値または範囲に対応する1次元の属性値または範囲を複数取得する検索処理であるとき、
前記データ密度に応じて前記空間充填曲線処理を中止した各部分空間と、前記所定回数前記空間充填曲線処理を行い得られた各部分空間とを検索範囲として求める手順をコンピュータに実行させるためのプログラム。
(付記8)
付記5乃至7いずれかに記載のプログラムにおいて、
前記データ処理装置は、分布情報記憶装置をさらに備え、
処理目的と関連する多次元データを空間充填曲線処理することで得られる複数の1次元値のデータ群を入力として、そのデータ群の密度分布あるいは累積分布を示す分布情報を生成する手順、
生成された前記分布情報を前記分布情報記憶装置に記憶する手順、
前記分布情報記憶装置に記憶された分布情報を参照し、前記部分空間に対応する1次元の値あるいは範囲のデータ密度を取得する手順をコンピュータに実行させるためのプログラム。
(付記1)
処理目的と関連する多次元データを空間充填曲線処理するデータ処理装置が、
多次元空間の部分空間に対する処理を行うとき、前記多次元データを前記空間充填曲線処理することで得られる複数の1次元値のデータ群の密度分布あるいは累積分布を示す分布情報を参照し、前記部分空間に対応する1次元の値あるいは範囲のデータ密度を取得し、
前記部分空間の前記データ密度に応じて、空間充填曲線処理を行うか否かを判定し、
判定結果に従い、空間充填曲線処理を行う空間充填曲線処理方法。
(付記2)
付記1に記載の空間充填曲線処理方法において、
前記データ処理装置が、
前記多次元空間の各部分空間を細分化して段階的に前記空間充填曲線処理を繰り返し行う過程において、
前記データ密度が閾値以上の各部分空間に対してのみ、段階的に細分化を行い、前記空間充填曲線処理を所定回数繰り返し、
前記データ密度が閾値未満の各部分空間に対しては、それ以上の細分化を行わず、前記空間充填曲線処理を中止する空間充填曲線処理方法。
(付記3)
付記2に記載の空間充填曲線処理方法において、
前記多次元空間の部分空間に対する処理が、多次元の属性値または範囲に対応する1次元の属性値または範囲を複数取得する検索処理であるとき、
前記データ処理装置が、
前記データ密度に応じて前記空間充填曲線処理を中止した各部分空間と、前記所定回数前記空間充填曲線処理を行い得られた各部分空間とを検索範囲として求める空間充填曲線処理方法。
(付記4)
付記1乃至3いずれかに記載の空間充填曲線処理方法において、
前記データ処理装置が、分布情報記憶装置をさらに備え、
前記データ処理装置が、
処理目的と関連する多次元データを空間充填曲線処理することで得られる複数の1次元値のデータ群を入力として、そのデータ群の密度分布あるいは累積分布を示す分布情報を生成し、
生成された前記分布情報を前記分布情報記憶装置に記憶し、
前記分布情報記憶装置に記憶された分布情報を参照し、前記部分空間に対応する1次元の値あるいは範囲のデータ密度を取得する空間充填曲線処理方法。
(付記5)
空間充填曲線処理を行うデータ処理装置を実現するコンピュータに、
多次元空間の部分空間に対する処理を行うとき、処理目的と関連する多次元データを空間充填曲線処理することで得られる複数の1次元値のデータ群の密度分布あるいは累積分布を示す分布情報を参照し、前記部分空間に対応する1次元の値あるいは範囲のデータ密度を取得する手順、
前記部分空間の前記データ密度に応じて、空間充填曲線処理を行うか否かを判定する手順、
前記判定する手順の判定結果に従い、前記空間充填曲線処理を行う手順を実行させるためのプログラム。
(付記6)
付記5に記載のプログラムにおいて、
前記多次元空間の各部分空間を細分化して段階的に前記空間充填曲線処理を繰り返し行う手順、
前記段階的に前記空間充填曲線処理を繰り返し行う手順の過程において、
前記データ密度が閾値以上の各部分空間に対してのみ、段階的に細分化を行い、前記空間充填曲線処理を所定回数繰り返す手順、
前記データ密度が閾値未満の各部分空間に対しては、それ以上の細分化を行わず、前記空間充填曲線処理を中止する手順をコンピュータに実行させるためのプログラム。
(付記7)
付記6に記載のプログラムにおいて、
前記多次元空間の部分空間に対する処理が、多次元の属性値または範囲に対応する1次元の属性値または範囲を複数取得する検索処理であるとき、
前記データ密度に応じて前記空間充填曲線処理を中止した各部分空間と、前記所定回数前記空間充填曲線処理を行い得られた各部分空間とを検索範囲として求める手順をコンピュータに実行させるためのプログラム。
(付記8)
付記5乃至7いずれかに記載のプログラムにおいて、
前記データ処理装置は、分布情報記憶装置をさらに備え、
処理目的と関連する多次元データを空間充填曲線処理することで得られる複数の1次元値のデータ群を入力として、そのデータ群の密度分布あるいは累積分布を示す分布情報を生成する手順、
生成された前記分布情報を前記分布情報記憶装置に記憶する手順、
前記分布情報記憶装置に記憶された分布情報を参照し、前記部分空間に対応する1次元の値あるいは範囲のデータ密度を取得する手順をコンピュータに実行させるためのプログラム。
この出願は、2011年9月27日に出願された日本出願特願2011−211144号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
Claims (10)
- 多次元空間の部分空間に対する目的の処理を行うとき、処理目的と関連する多次元データを空間充填曲線処理することで得られる複数の1次元値のデータ群の密度分布あるいは累積分布を示す分布情報を参照し、前記部分空間に対応する1次元の値あるいは範囲のデータ密度を取得する取得手段と、
取得した前記部分空間の前記データ密度に応じて、空間充填曲線処理を行うか否かを判定する判定手段と、
前記判定手段の判定結果に従い、前記空間充填曲線処理を行う空間充填曲線処理手段と、を備える空間充填曲線処理システム。 - 請求項1に記載の空間充填曲線処理システムにおいて、
前記空間充填曲線処理手段は、前記多次元空間の各部分空間を細分化して段階的に前記空間充填曲線処理を繰り返し行う過程において、
前記データ密度が閾値以上の各部分空間に対してのみ、段階的に細分化を行い、前記空間充填曲線処理を所定回数繰り返し、
前記データ密度が閾値未満の各部分空間に対しては、それ以上の細分化を行わず、前記空間充填曲線処理を中止する空間充填曲線処理システム。 - 請求項2に記載の空間充填曲線処理システムにおいて、
前記多次元空間の部分空間に対する処理が、
多次元の属性値または範囲に対応する1次元の属性値または範囲を複数取得する検索処理であるとき、
前記空間充填曲線処理手段は、前記データ密度に応じて前記空間充填曲線処理を中止した各部分空間と、前記所定回数前記空間充填曲線処理を行い得られた各部分空間とを検索範囲として求める空間充填曲線処理システム。 - 請求項1乃至3いずれかに記載の空間充填曲線処理システムにおいて、
処理目的と関連する多次元データを空間充填曲線処理することで得られる複数の1次元値のデータ群を入力として、そのデータ群の密度分布あるいは累積分布を示す分布情報を生成する分布算出手段と、
生成された前記分布情報を記憶する分布情報記憶手段と、をさらに備え、
前記取得手段は、前記分布情報記憶手段に記憶された分布情報を参照し、前記部分空間に対応する1次元の値あるいは範囲のデータ密度を取得する空間充填曲線処理システム。 - 処理目的と関連する多次元データを空間充填曲線処理するデータ処理装置が、
多次元空間の部分空間に対する処理を行うとき、前記多次元データを前記空間充填曲線処理することで得られる複数の1次元値のデータ群の密度分布あるいは累積分布を示す分布情報を参照し、前記部分空間に対応する1次元の値あるいは範囲のデータ密度を取得し、
前記部分空間の前記データ密度に応じて、空間充填曲線処理を行うか否かを判定し、
判定結果に従い、空間充填曲線処理を行う空間充填曲線処理方法。 - 請求項5に記載の空間充填曲線処理方法において、
前記多次元空間の各部分空間を細分化して段階的に前記空間充填曲線処理を繰り返し行う過程において、
前記データ密度が閾値以上の各部分空間に対してのみ、段階的に細分化を行い、前記空間充填曲線処理を所定回数繰り返し、
前記データ密度が閾値未満の各部分空間に対しては、それ以上の細分化を行わず、前記空間充填曲線処理を中止する空間充填曲線処理方法。 - 請求項6に記載の空間充填曲線処理方法において、
前記多次元空間の部分空間に対する処理が、多次元の属性値または範囲に対応する1次元の属性値または範囲を複数取得する検索処理であるとき、
前記データ密度に応じて前記空間充填曲線処理を中止した各部分空間と、前記所定回数前記空間充填曲線処理を行い得られた各部分空間とを検索範囲として求める空間充填曲線処理方法。 - 空間充填曲線処理を行うデータ処理装置を実現するコンピュータに、
多次元空間の部分空間に対する目的の処理を行うとき、処理目的と関連する多次元データを空間充填曲線処理することで得られる複数の1次元値のデータ群の密度分布あるいは累積分布を示す分布情報を参照し、前記部分空間に対応する1次元の値あるいは範囲のデータ密度を取得する手順、
前記部分空間の前記データ密度に応じて、空間充填曲線処理を行うか否かを判定する手順、
前記判定する手順の判定結果に従い、前記空間充填曲線処理を行う手順を実行させるためのプログラム。 - 請求項8に記載のプログラムにおいて、
前記多次元空間の各部分空間を細分化して段階的に前記空間充填曲線処理を繰り返し行う手順、
前記段階的に前記空間充填曲線処理を繰り返し行う手順の過程において、
前記データ密度が閾値以上の各部分空間に対してのみ、段階的に細分化を行い、前記空間充填曲線処理を所定回数繰り返す手順、
前記データ密度が閾値未満の各部分空間に対しては、それ以上の細分化を行わず、前記空間充填曲線処理を中止する手順をコンピュータに実行させるためのプログラム。 - 請求項9に記載のプログラムにおいて、
前記多次元空間の部分空間に対する処理が、多次元の属性値または範囲に対応する1次元の属性値または範囲を複数取得する検索処理であるとき、
前記データ密度に応じて前記空間充填曲線処理を中止した各部分空間と、前記所定回数前記空間充填曲線処理を行い得られた各部分空間とを検索範囲として求める手順をコンピュータに実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013535917A JP6015662B2 (ja) | 2011-09-27 | 2012-09-26 | 空間充填曲線処理システム、空間充填曲線処理方法およびプログラム |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011211144 | 2011-09-27 | ||
JP2011211144 | 2011-09-27 | ||
PCT/JP2012/006154 WO2013046669A1 (ja) | 2011-09-27 | 2012-09-26 | 空間充填曲線処理システム、空間充填曲線処理方法およびプログラム |
JP2013535917A JP6015662B2 (ja) | 2011-09-27 | 2012-09-26 | 空間充填曲線処理システム、空間充填曲線処理方法およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2013046669A1 true JPWO2013046669A1 (ja) | 2015-03-26 |
JP6015662B2 JP6015662B2 (ja) | 2016-10-26 |
Family
ID=47994748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013535917A Active JP6015662B2 (ja) | 2011-09-27 | 2012-09-26 | 空間充填曲線処理システム、空間充填曲線処理方法およびプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20140232726A1 (ja) |
JP (1) | JP6015662B2 (ja) |
WO (1) | WO2013046669A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10395259B1 (en) * | 2017-03-17 | 2019-08-27 | Mastercard International Incorporated | Control group dataset optimization |
US11429581B2 (en) * | 2017-12-01 | 2022-08-30 | International Business Machines Corporation | Spatial-temporal query for cognitive IoT contexts |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001513925A (ja) * | 1997-02-27 | 2001-09-04 | テルコンター | 2次元またはそれ以上の次元のデータベース照会を最適化するシステムおよび方法 |
WO2008133029A1 (ja) * | 2007-04-18 | 2008-11-06 | Nec Corporation | オーバレイ検索装置、オーバレイ検索システム、オーバレイ検索方法およびオーバレイ検索用プログラム |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7567972B2 (en) * | 2003-05-08 | 2009-07-28 | International Business Machines Corporation | Method and system for data mining in high dimensional data spaces |
US7400784B2 (en) * | 2004-10-19 | 2008-07-15 | Institut National De L'audiovisuel-Ina | Search of similar features representing objects in a large reference database |
-
2012
- 2012-09-26 WO PCT/JP2012/006154 patent/WO2013046669A1/ja active Application Filing
- 2012-09-26 US US14/347,723 patent/US20140232726A1/en not_active Abandoned
- 2012-09-26 JP JP2013535917A patent/JP6015662B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001513925A (ja) * | 1997-02-27 | 2001-09-04 | テルコンター | 2次元またはそれ以上の次元のデータベース照会を最適化するシステムおよび方法 |
WO2008133029A1 (ja) * | 2007-04-18 | 2008-11-06 | Nec Corporation | オーバレイ検索装置、オーバレイ検索システム、オーバレイ検索方法およびオーバレイ検索用プログラム |
Non-Patent Citations (2)
Title |
---|
JPN6016032755; 中台 慎二、外2名: 'PLATON:超分散環境におけるデータ共有のためのP2P多次元範囲検索システム' マルチメディア,分散,協調とモバイル(DICOMO2007)シンポジウム論文集 情報処理学会シンポジ 第2007巻,第1号, 20090407, p.173-184, 社団法人情報処理学会 * |
JPN6016032756; 奥 智照、外2名: 'SkipGraphと空間充填曲線を組み合わせた分散型データ管理システムの検討' 第2回データ工学と情報マネジメントに関するフォーラム-DEIM 2010-論文集 , 20100609, p.1-7, 電子情報通信学会データ工学研究専門委員会 * |
Also Published As
Publication number | Publication date |
---|---|
JP6015662B2 (ja) | 2016-10-26 |
US20140232726A1 (en) | 2014-08-21 |
WO2013046669A1 (ja) | 2013-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9591028B2 (en) | Visualization and analysis of complex security information | |
Quick et al. | Using pregel-like large scale graph processing frameworks for social network analysis | |
JP2005025763A (ja) | 構造化文書の分割プログラム、分割装置、及び分割方法 | |
JPWO2014109127A1 (ja) | インデックス生成装置及び方法並びに検索装置及び検索方法 | |
CN111027703B (zh) | 一种量子线路查询的方法、装置、存储介质及电子装置 | |
Sukhija et al. | Topic modeling and visualization for big data in social sciences | |
JP2021502658A5 (ja) | ||
JP6015662B2 (ja) | 空間充填曲線処理システム、空間充填曲線処理方法およびプログラム | |
KR20180120570A (ko) | 그래프 생성 방법 및 장치 | |
Purohit et al. | Application-specific graph sampling for frequent subgraph mining and community detection | |
JP5600693B2 (ja) | クラスタリング装置及び方法及びプログラム | |
JP2022070523A (ja) | 意味表現解析システム及び意味表現解析方法 | |
EP3196780A1 (en) | Information processing device, information processing method, and computer-readable storage medium | |
Gottesbüren | Parallel and Flow-Based High Quality Hypergraph Partitioning | |
JP7151515B2 (ja) | ソート方法、ソートプログラム及びソート装置 | |
JP2019061300A (ja) | グラフ生成装置、グラフ生成方法、データ構造、及びプログラム | |
JP6213665B2 (ja) | 情報処理装置、及び、クラスタリング方法 | |
Clark et al. | TDAG: Tree-based directed acyclic graph partitioning for quantum circuits | |
JP6005583B2 (ja) | 検索装置、検索方法および検索プログラム | |
US10409931B1 (en) | Automatic combination of sub-process simulation results with dataset selection based on fitness under specific scenarios | |
JPWO2016013175A1 (ja) | テキスト処理システム、テキスト処理方法およびテキスト処理プログラム | |
CN106547907B (zh) | 一种频繁项集获取方法及装置 | |
JP2014228974A (ja) | 分析方法、分析装置および分析プログラム | |
CN112256801B (zh) | 抽取实体关系图中关键实体的方法、系统和存储介质 | |
JPWO2013172309A1 (ja) | ルール発見システムと方法と装置並びにプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150806 |
|
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: 20160830 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160912 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6015662 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |