JP5741705B2 - 最適領域抽出方法およびその装置 - Google Patents
最適領域抽出方法およびその装置 Download PDFInfo
- Publication number
- JP5741705B2 JP5741705B2 JP2013540595A JP2013540595A JP5741705B2 JP 5741705 B2 JP5741705 B2 JP 5741705B2 JP 2013540595 A JP2013540595 A JP 2013540595A JP 2013540595 A JP2013540595 A JP 2013540595A JP 5741705 B2 JP5741705 B2 JP 5741705B2
- Authority
- JP
- Japan
- Prior art keywords
- gain
- logical
- function
- logic function
- region extraction
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Image Processing (AREA)
Description
本発明は,最適領域抽出方法およびその装置に関する。
最適領域抽出とは,データマイニングの一種であり,1つあるいは複数次元の数値属性データがある場合に,その数値属性データの相関ルールを抽出する技術である。つまり,数値属性の相関ルールを抽出することは,数値属性データにより区分される領域を求めることになるので,最適領域抽出技術と呼ばれる。
数値属性データの相関ルールの抽出では,1つあるいは複数次元空間内のある一点に対応する数値属性データと,その一点の結果属性データ,例えばある条件が満たされるか否か(Yes又はNo),とのペアからなるデータの集合が与えられた場合,「複数次元の領域Rに含まれると,結果属性がYesになる」というルールが最も成立する領域(最適領域)を計算する。つまり,相関ルールを見つけることが,最適な領域を抽出することに対応するので,最適領域抽出とも呼ばれている。
最適領域抽出方法において,1次元の数値属性データの場合に,区間数をNとして,計算コストOをO(N)で効率的に計算する手法が知られている。例えば,非特許文献2,3,4などである。
Graph-Based Algorithms for Boolean Function Manipulation, Randal E. Bryant, IEEE TRANSACTION ON COMPUTERS, VOL. C-35, NO.8, August 1986
T.Fukuda et al., Datamining using two-dimensional optimized association rules: Scheme, algorithms, and visualization, Proceedings of the ACM SIGMOD Conference on Management of Data, pp. 13-23. 1996年
加藤直樹他,データマイニングとその応用,朝倉書店
福田剛志他,データマイニング,共立出版
しかしながら,従来の方法では,複数次元の数値属性データの場合は,2次元以上の領域は全ての組み合わせをチェックすることが必要になり,計算時間が長くなるという課題がある。また,抽出できる最適領域が矩形領域に限定されるため,矩形以外の領域に最適な領域が存在する場合は,必ずしも最適な領域を抽出できるとは限らない。
そこで,本発明の目的は,計算処理工数が少ない最適領域抽出方法およびその装置を提供することにある。
また,本発明の更なる目的は,計算処理工程が少なく,任意の形状の最適領域を抽出する最適領域抽出方法およびその装置を提供することにある。
最適抽出方法の第1の側面によれば,複数次元の数値属性データに基づいて区分される複数の単位領域を組み合わせた複数の組合せ領域から,最大ゲインを有する組合せ領域を抽出する処理がコンピュータにより実行される最適領域抽出方法において,
前記コンピュータが,複数次元の数値属性データに対する結果属性データの集合を記憶する入力工程と,
前記コンピュータが,前記複数の単位領域に複数の論理変数を対応させ,前記複数の組合せ領域に対応する出力値に前記複数の論理変数に対する論理関数を対応させ,前記論理関数には,前記結果属性データの二値に応じて所定値を割り当てたゲインを出力値とするゲイン論理関数と,最適領域か否かを出力値とする最適領域抽出論理関数とを有し,前記各論理関数を,前記複数の論理変数をノードに,前記複数の論理変数の二値を枝に,前記出力値を葉ノードにそれぞれ対応させた二分決定グラフで定義した初期値を受信する初期化工程と,
前記コンピュータが,前記集合に含まれる結果属性データそれぞれについて,各結果属性データのゲインを出力値とする現在ゲイン論理関数と,前記各結果属性データのゲインの累積値を出力値とする累積ゲイン論理関数とを,最下位桁から最上位桁まで順次算術加算する加算論理演算を,前記二分決定グラフによる論理演算で行うゲイン加算工程と,
前記コンピュータが,前記結果属性データのゲインを累積加算した前記累積ゲイン論理関数について,最上位桁から最下位桁まで順次,前記累積ゲイン論理関数と前記最適領域抽出論理関数とのAND演算を,前記二分決定グラフによるAND演算で行い,当該最適領域抽出論理関数が恒偽関数でなければ当該AND演算後の最適領域抽出論理関数に更新し,前記恒偽関数であれば更新しない最適領域抽出工程と,
前記コンピュータが,前記最下位桁までAND演算した後の前記最適領域抽出論理関数の出力が真となる前記組合せ領域を最適領域として出力する最適領域出力工程とを有する。
前記コンピュータが,複数次元の数値属性データに対する結果属性データの集合を記憶する入力工程と,
前記コンピュータが,前記複数の単位領域に複数の論理変数を対応させ,前記複数の組合せ領域に対応する出力値に前記複数の論理変数に対する論理関数を対応させ,前記論理関数には,前記結果属性データの二値に応じて所定値を割り当てたゲインを出力値とするゲイン論理関数と,最適領域か否かを出力値とする最適領域抽出論理関数とを有し,前記各論理関数を,前記複数の論理変数をノードに,前記複数の論理変数の二値を枝に,前記出力値を葉ノードにそれぞれ対応させた二分決定グラフで定義した初期値を受信する初期化工程と,
前記コンピュータが,前記集合に含まれる結果属性データそれぞれについて,各結果属性データのゲインを出力値とする現在ゲイン論理関数と,前記各結果属性データのゲインの累積値を出力値とする累積ゲイン論理関数とを,最下位桁から最上位桁まで順次算術加算する加算論理演算を,前記二分決定グラフによる論理演算で行うゲイン加算工程と,
前記コンピュータが,前記結果属性データのゲインを累積加算した前記累積ゲイン論理関数について,最上位桁から最下位桁まで順次,前記累積ゲイン論理関数と前記最適領域抽出論理関数とのAND演算を,前記二分決定グラフによるAND演算で行い,当該最適領域抽出論理関数が恒偽関数でなければ当該AND演算後の最適領域抽出論理関数に更新し,前記恒偽関数であれば更新しない最適領域抽出工程と,
前記コンピュータが,前記最下位桁までAND演算した後の前記最適領域抽出論理関数の出力が真となる前記組合せ領域を最適領域として出力する最適領域出力工程とを有する。
第1の側面によれば,計算処理工数が少ない最適領域抽出方法およびその装置を提供することができる。
図1は,本実施の形態の領域抽出の対象となる数値属性データと結果属性データの一例を示す図である。数値属性データX1,X2に対応して二次元空間が定義される。そして,二次元空間内の複数の点(図中はデータ1から16まで全部で16点)は,それぞれ結果属性データとして,ある条件CONDが成立するか否か(白丸がYes,黒丸がNo)の属性を有する。各点は,二次元空間内の座標を有し,各次元の数値属性データX1,X2はその座標に対応する。
具体的な例で説明すると,二次元空間の座標に対応する数値属性データX1,X2として,例えば,性別,住所,年収,職業などが対応付けされ,結果属性データとして,例えばある条件COND「高齢者はあるサービスを希望する」が成り立つか否か(Yes,No)などが対応付けられる。
図1において,2つの数値属性データX1,X2と結果属性データYes,Noとのペアリングが,白丸と黒丸の16個のデータとして示されている。つまり,16個のデータは,二次元空間内の座標に対応する数値属性データX1,X2に対応して,ある条件CONDが成り立つ(Yes)または成り立たない(No)という結果属性データを有する。
その場合,上記の条件CONDが成立すれば利益(ゲイン)を得るが,成立しなければ逆に損失(ロス,負のゲイン)を被るような場合に,ゲインが最大になる領域を最適領域として抽出することができれば,その最適領域についてのみビジネスを展開することで,最大の利益を得ることができる。これが,本実施の形態の最適領域を抽出する意義である。
図2は,図1の二次元空間を複数の単位領域に区分した例を示す図である。図2では,数値属性X1を区分1,2に分け,同様に,数値属性X2を区分1,2に分けて,二次元空間を2×2=4つの単位領域(1,1),(2,1),(1,2),(2,2)に分けている。この単位領域をピクセルと称することにする。
次に,各ピクセル(単位領域)のゲインについて説明する。各データのゲインは,条件CONDが成り立つ(Yes)場合は,係数a=+1を割り当てられ,成り立たない(No)場合は,係数b=−1を割り当てられる。つまり,条件が成り立てば正の利益(ゲイン)が得られるが,成り立たない場合は,そのビジネスを実行するための経費のみが発生するので,損失,つまり負の利益(ゲイン)になる。
従って,各ピクセルのゲインは,次の式で求めることができる。
ゲイン=a*(Yesのデータの数)+b*(Noのデータの数)
図3は,図2の各ピクセルのゲインの演算を示す図である。4つのピクセル(1,1),(2,1),(1,2),(2,2)のゲインは,それぞれ3,−2,−4,3になっている。
ゲイン=a*(Yesのデータの数)+b*(Noのデータの数)
図3は,図2の各ピクセルのゲインの演算を示す図である。4つのピクセル(1,1),(2,1),(1,2),(2,2)のゲインは,それぞれ3,−2,−4,3になっている。
そこで,ピクセル(単位領域)の組合せからなる複数の組合せ領域の中から,上記したゲインが最大値をとる組合せ領域を最適領域として抽出するためには,4つのピクセルの全ての組合せについてゲインを計算し,各ゲインを比較して最適領域を抽出することが必要になる。しかし,数値属性データの数が膨大でピクセルの数が膨大になり,且つデータの数が膨大になると,上記の最適領域を抽出するための計算工数が膨大になるとともに,計算中に一時的に記憶しておくデータ量も大きくなり大きなメモリ容量が必要になる。
[実施の形態例]
図4は,本実施の形態における最適領域抽出装置の構成図である。最適領域抽出装置1は,バス14を介して接続されたプロセッサユニット10と,データ等の外部からの入力と外部への出力を行う入出力装置12と,論理関数に対応する二分決定グラフ(BDD,Binary Decision Diagram),ゲイン,その他のデータやパラメータなどを,最適領域抽出の演算工程中に一時的に蓄積する内部メモリ16とを有するコンピュータシステムである。さらに,最適領域抽出装置1は,最適領域抽出プログラムを格納するメモリ18と,BDD演算モジュールを格納するメモリ20を有する。
図4は,本実施の形態における最適領域抽出装置の構成図である。最適領域抽出装置1は,バス14を介して接続されたプロセッサユニット10と,データ等の外部からの入力と外部への出力を行う入出力装置12と,論理関数に対応する二分決定グラフ(BDD,Binary Decision Diagram),ゲイン,その他のデータやパラメータなどを,最適領域抽出の演算工程中に一時的に蓄積する内部メモリ16とを有するコンピュータシステムである。さらに,最適領域抽出装置1は,最適領域抽出プログラムを格納するメモリ18と,BDD演算モジュールを格納するメモリ20を有する。
最適領域抽出プログラム18は,最大ゲインを有する最適領域を抽出するためのプログラムである。この最適領域抽出プログラムについては,本実施の形態に沿って詳述する。また,BDD演算モジュール20は,BDDの論理演算プログラムであり,BDDの論理演算方法及びそのプログラムについては,前述の非特許文献1に記載されているとおり公知である。
図5は,本実施の形態における最適領域抽出方法または最適領域抽出プログラムの手順を示すフローチャート図である。すなわち,図4の最適領域抽出プログラム18の手順を示している。このフローチャートに示した各工程S10〜S24に従って,以下説明する。
図6は,複数のピクセルと複数の論理変数との対応を示す図である。本最適領域抽出方法の前提として,複数次元の数値属性データX1,X2に基づいて区分される複数の単位領域(4つのピクセル(1,1),(2,1),(1,2),(2,2))に,論理変数p1,1,p2,1,p1,2,p2,2を割り当てる。そして,この4つの論理変数を入力とし,ゲインや制約(例えばピクセルは連続しなければならないとする連続制約)や最適領域を出力とする論理関数f(p1,1,p2,1,p1,2,p2,2)を利用する。論理関数の出力は「1」「0」からなる1ビットの出力である。
この論理関数fは,4つの論理変数p1,1,p2,1,p1,2,p2,2の「1」「0」の組み合わせに対して,それぞれ出力を有する。論理関数の出力を「1」「0」からなる論理出力にすることで,論理関数を,後述する二分決定グラフ(BDD)で定義することができる。そして,論理関数の出力値は1ビットであるので,単一の論理関数により,制約がある「1」,なし「0」や,最適領域である「1」,ない「0」を処理することができる。さらに,複数の論理関数の論理出力により,累積ゲインなどの複数ビットを必要とする数量を処理することができる。
前述のとおり,4つのピクセル(単位領域)に4つの論理変数p1,1,p2,1,p1,2,p2,2を対応付けているので,4つの論理変数の「1」「0」は,対応するピクセルが含まれる「1」ことと,含まれない「0」ことを示す。したがって,4つの論理変数の「1」「0」の全ての組合せは,4つのピクセルを組み合わせた全ての組合せ領域を表すことができ,全ての組合せ領域に対する出力(ゲイン,制約有り無し,最適領域であるない)に論理関数を割り当てることができる。
そして,そのような論理関数は,二分決定グラフ(BDD)で定義することができる。二分決定グラフ(BDD)で定義できれば,非特許文献1に記載されている演算方法により,少ない演算時間で,また少ないメモリ容量で,演算を実行することができる。
図7は,二分決定グラフ(BDD)を説明する図である。このBDDの例は,3つの論理変数X1,X2,X3を入力とする論理関数f(X1,X2,X3)を定義している。図7中の論理関数の真理値表によれば,入力の論理変数X1,X2,X3が「010」「100」「101」「110」の場合に,論理関数fの出力が「1」に,それ以外の場合に「0」になっている。
そこで,この論理関数fをBDDで定義すると,図中の二分木のように定義することができる。このBDDによれば,論理関数fは,根ノードの論理変数X1の「1」「0」の枝の先に論理変数X2のノードがあり,更にそのノードの2つの枝の先に論理変数X3のノードがある。論理変数X3は最下位の変数であるので,そのノードの枝の先は,論理関数fの出力値「1」「0」の葉ノードがそれぞれつながっている。そして,上記の論理変数X1,X2,X3のそれぞれの枝の組合せが,根ノードから葉ノードまでのパスを規定する。従って,前述のとおり,「010」「100」「101」「110」となるのパスの先の葉ノードが「1」となり,それ以外のパスの先の葉ノードは「0」となる。
さらに,BDDでは,等価ノードと冗長ノードを削除することで圧縮することができる。等価ノードとは,ノードと2つの枝の先のノードとが等価なものであり,図7の左側のBDDでは,ノードn2,n4が等価ノードである。そこで,これらの等価ノードn2,n4を合体させて真ん中のBDD1ではノードn24に変更されている。さらに,左側のBDDでは,ノードn1,n3は,2つの枝の先が同じである。つまり,ノードn1の2つの枝の先の葉ノードは共に「0」であり,ノードn4の2つの枝の先の葉ノードは共に「1」である。そこで,真ん中のBDD1では,ノードn1の2つの枝は単一の葉ノード「0」に,ノードn3の2つの枝は単一の葉ノード「1」につながっている。
また,真ん中のBDD1のノードn1,n3は,それぞれ,いずれの枝も葉ノード「0」または「1」につながる。従って,このようなノードn1,n3は冗長ノードである。そこで,右側のBDD2では,これらのノードn1,n3が削除されて,論理変数X2から「0」の枝で直接葉ノード「0」「1」に接続されている。
その結果,右側の圧縮されたBDD2は,左側のBDDと比較すると,その規模を縮小することができる。この右側のBDD2において,根ノードX1からの3つのパス
X1,X2,X3=0,1,0
X1,X2=1,0
X1,X2,X3=1,1,0
で,葉ノード「1」につながることが理解できる。つまり,論理関数f(X1,X2,X3)は,図7に示されるとおり,
f(X1,X2,X3)=X1'X2X3'+X1X2'+X1X2X3'
に圧縮することができる。ここで,X1'とはX1のnotである。
X1,X2,X3=0,1,0
X1,X2=1,0
X1,X2,X3=1,1,0
で,葉ノード「1」につながることが理解できる。つまり,論理関数f(X1,X2,X3)は,図7に示されるとおり,
f(X1,X2,X3)=X1'X2X3'+X1X2'+X1X2X3'
に圧縮することができる。ここで,X1'とはX1のnotである。
BDDは,メモリ内にデータ構造として格納可能である。また,BDDは,非特許文献1に記載されるように,BDDどうしで論理演算が可能である。BDDのサイズは図7に示したように圧縮することができるので,そのデータ構造も小さくすることができる。また,BDDどうしで論理演算することで,論理変数の全ての組合せについて一括して論理演算を行うことができる。たとえば,図7において論理変数X1,X2,X3の8つの組合せについて,一括して論理演算可能である。
BDDの論理演算は,図4のBDD演算モジュールにより処理することができ,BDD演算モジュールでは,圧縮されたBDDを演算して,圧縮されたBDDを出力する。
図8は,BDDのデータ構造の一例を示す図である。図8のデータ構造は,論理関数fと,論理変数X1,X2,X3と,2つの葉ノードとが,それぞれデータエレメントを構成し,論理関数fは根ノードのポインタを,論理変数X1,X2,X3はそれぞれの枝の先の子ノードのポインタを有する。このように,論理関数をBDDで定義することで,そのデータ構造を小さくでき,メモリ容量を小さくすることができる。さらに,論理関数をBDDで定義することで,論理変数の組合せ全てに対する出力値について演算せずに,圧縮されたBDDどうしで論理演算すればよく,計算工数を減らすことができる。
[初期化工程]
図5のフローチャートに示されるとおり,本実施の形態での最適領域抽出方法では,初期化工程S10において,まず,複数次元の数値属性データに対する結果属性データの集合を外部メモリ(図4中には示していない)などの大容量メモリに入力する。図1,2,3に示した16データの集合が対応する。次に,最適領域抽出工程中に使用する論理関数に対応するBDDを定義する。定義すべき論理関数は,組合せ領域内のゲインの合計値に対応する累積ゲイン論理関数,データそれぞれのゲインに対応する現在ゲイン論理関数,組合せ領域の制約(禁止)を示す制約論理関数,最適領域を示す最適領域論理関数などである。累積ゲイン論理関数と現在ゲイン論理関数は,累積ゲインの最大値に応じたビット数だけ必要になる。これらは全てBDDでメモリに格納される。
図5のフローチャートに示されるとおり,本実施の形態での最適領域抽出方法では,初期化工程S10において,まず,複数次元の数値属性データに対する結果属性データの集合を外部メモリ(図4中には示していない)などの大容量メモリに入力する。図1,2,3に示した16データの集合が対応する。次に,最適領域抽出工程中に使用する論理関数に対応するBDDを定義する。定義すべき論理関数は,組合せ領域内のゲインの合計値に対応する累積ゲイン論理関数,データそれぞれのゲインに対応する現在ゲイン論理関数,組合せ領域の制約(禁止)を示す制約論理関数,最適領域を示す最適領域論理関数などである。累積ゲイン論理関数と現在ゲイン論理関数は,累積ゲインの最大値に応じたビット数だけ必要になる。これらは全てBDDでメモリに格納される。
さらに,初期化工程S10では,各ピクセル(単位領域)に論理変数x[p](pは1〜r(rはピクセル数(r=4)))を割り当てる。つまり,図6の例では,
x[1]=p1,1
x[2]=p2,1
x[3]=p1,2
x[4]=p2,2
である。
x[1]=p1,1
x[2]=p2,1
x[3]=p1,2
x[4]=p2,2
である。
そして,各ピクセルpに隣接するピクセルadj[p]をメモリに格納する。
また,データ数をn(n=16),数値属性データの次元数をd,ピクセル数をr=Nd(Nは各次元の区分数),累積ゲインと現在ゲインの桁数をm(m=log2(n+1)+1)と定義する。ゲインは,結果属性データがYesならa=+1,Noならb=-1であるので,累積ゲインの最大値は+n(nはデータ数)で最小値は−nである。つまり,データ数n=16の場合であれば,累積ゲインは,-16〜+16である。そのためには,二進数では5桁必要であり,それに符号ビットを加えると,6桁が必要になる。従って,累積ゲイン及び現在ゲインの論理関数の数(桁数)はm=6になる。
初期化工程S10では,さらに,累積ゲイン論理関数f1〜fmを全て恒偽関数(全ての出力が偽「0」)に初期化する。つまり,累積ゲインは符号ビットが「0」(プラス),それ以外の5桁が「0」に初期化される。
[ゲインの算術加算工程]
次に,図5のフローチャートに示されるとおり,データ番号i=1〜16について(S12),各データのゲインを論理関数cur.f[i]として生成し(S14),各データのゲインcur.f[i]を累積ゲインold.f[i]に加算して新たな累積ゲインnew.f[i]とする(S16)処理を繰り返す。この算術加算は,6ビットの論理関数について後述する加算用の論理演算を行えばよい。
次に,図5のフローチャートに示されるとおり,データ番号i=1〜16について(S12),各データのゲインを論理関数cur.f[i]として生成し(S14),各データのゲインcur.f[i]を累積ゲインold.f[i]に加算して新たな累積ゲインnew.f[i]とする(S16)処理を繰り返す。この算術加算は,6ビットの論理関数について後述する加算用の論理演算を行えばよい。
図9は,データ1のゲインを算術加算する例を示す図である。データ1はNoであり,ピクセルx[3]=p1,2に属している。従って,データ1のゲインは,-1となり,現在ゲイン論理関数cur.f[i]の出力値は,全てx[3](ピクセルx[3]=p1,2を有する組合せ領域なら全て「1」,有しない組合せ領域なら全て「0」)となる。即ち,次の通りである。
cur.f1=x[3]
cur.f2=x[3]
cur.f3=x[3]
cur.f4=x[3]
cur.f5=x[3]
cur.f6=x[3]
つまり,ピクセルx[3]=p1,2を有する組合せ領域なら,x[3]=1であるので,出力値はゲイン-1の2の補数の111111であるので,次の通りとなる。
cur.f1f2f3f4f5f6=111111
また,ピクセルx[3]= p1,2を有しない組合せ領域なら,x[3]=0であるので,出力値は000000であるので,次の通りとなる。
cur.f1f2f3f4f5f6=000000
ただし,図9には,紙面の都合上,符号ビットf1と数値ビットf2だけで省略している。つまり,
cur.f1f2=11
cur.f1f2=00
である。
cur.f1=x[3]
cur.f2=x[3]
cur.f3=x[3]
cur.f4=x[3]
cur.f5=x[3]
cur.f6=x[3]
つまり,ピクセルx[3]=p1,2を有する組合せ領域なら,x[3]=1であるので,出力値はゲイン-1の2の補数の111111であるので,次の通りとなる。
cur.f1f2f3f4f5f6=111111
また,ピクセルx[3]= p1,2を有しない組合せ領域なら,x[3]=0であるので,出力値は000000であるので,次の通りとなる。
cur.f1f2f3f4f5f6=000000
ただし,図9には,紙面の都合上,符号ビットf1と数値ビットf2だけで省略している。つまり,
cur.f1f2=11
cur.f1f2=00
である。
データ1の現在ゲインcur.f1f2=11は,データ1が位置するピクセルp1,2に対する論理変数が「1」になっている場合である。従って,図9では,データ1の現在ゲインcur.f1f2=11は,論理変数x[1]=p1,1,x[2]=p2,1,x[3]=p1,2,x[4]=p2,2が0010,0011,0110,0111,1010,1011,1110,1111の場合に成立している。一方,データ1の現在ゲインcur.f1f2=00は,データ1が位置するピクセルp1,2に対する論理変数が「0」になっている場合である。従って,図9では,データ1の現在ゲインcur.f1f2=00は,上記以外の論理変数の組合せの場合に成立する。これが,データ1の現在ゲイン論理関数となる(S12)。
次に,データ1の現在ゲイン論理関数cur.f1f2を,初期値が全て00の累積ゲインold.f1f2に算術加算すると,新たな累積ゲインnew.f1f2が生成される(S16)。この新たな累積ゲインnew.f1f2は,次のデータ2では累積ゲインold.f1f2となる。
論理関数の算術加算は,以下の論理演算,排他的論理和演算とAND演算で行うことができる。
桁jについて最下位桁から最上位桁まで,以下の論理演算を繰り返す
new.f[j]=EOR(old.f[j],cur.f[j],carry[j-1]) (1)
carry[j]=old.f[j]*cur.f[j] (2)
ここで,carry[j]はj桁でのキャリービット,EORは括弧内のビットの排他的論理和演算,*はAND演算である。また,最下位桁のキャリービットは全て0である。
桁jについて最下位桁から最上位桁まで,以下の論理演算を繰り返す
new.f[j]=EOR(old.f[j],cur.f[j],carry[j-1]) (1)
carry[j]=old.f[j]*cur.f[j] (2)
ここで,carry[j]はj桁でのキャリービット,EORは括弧内のビットの排他的論理和演算,*はAND演算である。また,最下位桁のキャリービットは全て0である。
式(1)は,old.f[j]とcur.f[j]のEOR演算し,その結果とcarry[j-1]のEOR演算をすることを意味する。したがって,3つの値が全て「1」の場合と,1つの値のみ「1」の場合なら結果は「1」,2つの値が「1」の場合と,3つの値が全て「0」の場合は,結果は「0」になる。式(2)は,論理積(AND)演算であり,2つの値が全て「1」の場合のみ結果が「1」になり,それ以外は結果は「0」である。
上記の論理演算は,非特許文献1に記載されるように,BDDどうしで行うことができる。
図10は,データ2のゲインを算術加算する例を示す図である。データ2はYesであり,ピクセルp2,2に属している。従って,データ2のゲインは,+1となるので,現在ゲイン論理関数cur.f[i]の出力値は,最下位ビットだけがx[4]=p2,2,残りのビットは全て「0」となる。つまり,以下の通りとなる。
cur.f1=0
cur.f2=0
cur.f3=0
cur.f4=0
cur.f5=0
cur.f6=x[4]
従って,ピクセルx[4]=p2,2を有する組合せ領域なら,x[4]=1であるので,出力値はゲイン+1の000001であるので,次の通りとなる。
cur.f1f2f3f4f5f6=000001
また,ピクセルx[4]=p2,2を有しない組合せ領域なら,x[4]=0であるので,出力値はゲイン0の000000であるので,次の通りとなる。
cur.f1f2f3f4f5f6=000000
ただし,図10には,紙面の都合上,符号ビットf1と数値ビットf2だけで省略している。つまり,
cur.f1f2=01
cur.f1f2=00
である。
cur.f1=0
cur.f2=0
cur.f3=0
cur.f4=0
cur.f5=0
cur.f6=x[4]
従って,ピクセルx[4]=p2,2を有する組合せ領域なら,x[4]=1であるので,出力値はゲイン+1の000001であるので,次の通りとなる。
cur.f1f2f3f4f5f6=000001
また,ピクセルx[4]=p2,2を有しない組合せ領域なら,x[4]=0であるので,出力値はゲイン0の000000であるので,次の通りとなる。
cur.f1f2f3f4f5f6=000000
ただし,図10には,紙面の都合上,符号ビットf1と数値ビットf2だけで省略している。つまり,
cur.f1f2=01
cur.f1f2=00
である。
上記のデータ1の現在ゲインcur.f1f2=01は,データ2が位置するピクセルp2,2に対する論理変数が「1」になっている場合だけである。従って,図10では,データ2の現在ゲインcur.f1f2=01は,論理変数x[1]=p1,1,x[2]=p2,1,x[3]=p1,2,x[4]=p2,2が0001,0011,0101,0111,1001,1011,1101,1111の場合に成立している。一方,データ2の現在ゲインcur.f1f2=00は,データ2が位置するピクセルp1,2に対する論理変数が「0」になっている場合である。従って,図10では,データ2の現在ゲインcur.f1f2=00は,上記以外の論理変数の組合せの場合に成立する。これが,データ2の現在ゲイン論理関数となる(S12)。
次に,データ2の現在ゲイン論理関数cur.f1f2を,累積ゲインold.f1f2に算術加算すると,新たな累積ゲインnew.f1f2が生成される(S16)。論理関数の算術加算は,式(1)(2)と同じである。
図11は,データ16まで全てのゲインを算術加算した結果を示す図である。累積ゲインnew.f1f2f3f4が,図11では出力値outputとして示されている。累積ゲインの数が大きくなり桁数は4桁で表されている。ただし,前述のとおり,累積ゲインの桁数は最大値と最小値に対応可能にするため6桁であることが望ましい。図11の状態は,図5のフローチャートにおいて,工程S12,S14,S16が完了した状態である。
図9,10では,算術加算が論理変数の全ての組合せ(論理変数の数が4つであるので,全ての組合せは16通り)について,それぞれ加算しているように示されている。しかしながら,本実施の形態における最適領域抽出方法によれば,この算術加算は,BDDによる式(1)(2)の論理演算で行われる。BDDの論理演算は,BDD演算モジュール20により実行され,その演算方法は非特許文献1に記載されている。
図12は,データ1,2の算術加算をBDDで行う例を示す図である。図9,図10のデータ1,2の算術加算は,old.f1f2とcur.f1f2とを加算してnew.f1f2を生成する演算である。図12中には,それらの論理関数に対応するBDDが示されている。データ1の場合は,old.f1のBDDとold.f2のBDDの初期値が恒偽関数であるので,「0」の葉ノードのみである。一方,データ1のゲイン論理関数cur.f1,cur.f2は,共に,ピクセルp12の論理変数のみノードに有する。old.f1f2が恒偽関数であるので,
old.f1f2+cur.f1f2=cur.f1f2=new.f1f2となる。
old.f1f2+cur.f1f2=cur.f1f2=new.f1f2となる。
データ2の場合は,データ1で求めた累積ゲイン論理関数old.f1f2のBDDに,データ2のゲイン論理関数cur.f1f2のBDDを算術加算する。この算術加算も,式(1)(2)による。データ2のゲイン論理関数cur.f1f2のBDDは,符号ビットが「0」であるのでf1が恒偽関数であり「0」の葉ノードのみであり,一方,数値ビットは最下位が「1」または「0」であるのでf2がピクセルp22の論理変数のみノードを有するBDDである。
次に,算術加算における式(1)のEOR論理演算をBDDで行う例について説明する。図13は,BDDによるEOR論理演算の方法を示す図である。この例は,図12のデータ2の算術加算で行われる最下位ビットf2のEOR論理演算方法を示している。
図12では,累積ゲインold.f2をAに,データの現在ゲインcur.f2をBに対応付けている。BDDの論理演算では,同じ論理変数同士で論理演算を行うことになる。グラフBには論理変数p12がない。そこで,まず論理変数p12の「0」の枝に対して,破線ブロックNode0内に示す通り,グラフAにおいてp12=0の場合のノード(葉ノード「0」のみ)と,グラフBにおいてp12=0の場合のノード(変数p22のノードと葉ノード「0」「1」)とが抽出される。そして,一方のグラフ(グラフA)が葉ノードのみであれば,その葉ノードの値「0」が,他方のグラフ(グラフB)の葉ノードの値とEOR演算される。EOR演算では,一方の入力値が「0」であれば,他方の入力値がそのまま出力になるので,破線ブロックNode0は,破線ブロック内の論理変数p22のノードとその葉ノードと同じになる。
一方,論理変数p12の「1」の枝に対して,破線ブロックNode1内に示す通り,グラフAにおいてp12=1の場合のノード(葉ノード「1」のみ)と,グラフBにおいてp12=1の場合のノード(変数p22のノードと葉ノード「0」「1」)とが抽出される。そして,一方のグラフ(グラフA)が葉ノードのみであるので,その葉ノードの値「1」が,他方のグラフ(グラフB)の葉ノードの値とEOR演算される。EOR演算では,一方の入力値が「1」であれば,他方の入力値の反転が出力になるので,破線ブロックNode1は,論理変数p22のノードとその反転された葉ノードになる。
その結果,このEOR論理演算結果のBDDは,図12のf2と同じBDDであることが理解できる。このように,BDDによる論理演算は,根ノードから順にそれぞれのBDDの対応する論理変数の枝に対応してグラフを決定するが,一方のBDDの論理変数の枝の先が葉ノードになれば,他方のBDDの論理変数の枝の先の論理変数の葉ノードと論理演算が行われる。したがって,BDD論理演算では,再帰的な演算によりBDDどうしの論理演算が実行される。
同様にして,最下位ビットf2のAND演算によりキャリービットのBDDが求められる。さらに,次の上位のビットf1については,キャリービットとold.f1とcur.f1とによるEOR演算と,old.f1とcur.f1とによるAND演算とが行われる。
図14,図15は,BDDの論理演算においてメモリに格納されるBDDのデータ構造を示す図である。BDDのデータ構造については図8で説明したとおりである。図14,図15には,図12のデータ2の算術加算で行われる最下位ビットf2のEOR論理演算の例を示している。図14には,old.f1,old.f2とcur.f1,cur.f2との算術加算のデータ構造が示され,図15には,その算術加算結果であるnew.f1,new.f2が示されている。
図13で説明した論理演算は,図14,15に示されたメモリ内のデータ構造に対して,非特許文献1に記載された方法を適用することにより行われる。
[最適領域抽出工程]
次に,図11に示したとおり,全てのデータのゲインの累積が完了すると,全ての組合せ領域(単位領域(ピクセル)の全ての組合せ)に対する累積ゲインを出力する論理関数new.f1f2f3f4が得られる。そこで,この得られた累積ゲイン論理関数から,累積ゲインが最大の組合せ領域を抽出することが行われる。単純には,全ての論理変数の組合せに対する累積ゲインを検索して最大値になる論理変数の組合せを抽出すれば,最大ゲインを有する組合せ領域を最適領域として抽出できる。ただし,そのような演算を行うと計算時間も長くなる。
次に,図11に示したとおり,全てのデータのゲインの累積が完了すると,全ての組合せ領域(単位領域(ピクセル)の全ての組合せ)に対する累積ゲインを出力する論理関数new.f1f2f3f4が得られる。そこで,この得られた累積ゲイン論理関数から,累積ゲインが最大の組合せ領域を抽出することが行われる。単純には,全ての論理変数の組合せに対する累積ゲインを検索して最大値になる論理変数の組合せを抽出すれば,最大ゲインを有する組合せ領域を最適領域として抽出できる。ただし,そのような演算を行うと計算時間も長くなる。
そこで,本実施の形態では,BDDの論理演算により最大ゲインを有する組合せ領域(最適領域)の検出を行う。BDDの論理演算であれば,BDDのノード数に比例する計算時間ですむ。
さらに,本実施の形態では,組合せ領域に対して,一塊のピクセルからなる領域という制約を課す例を説明する。つまり,構成するピクセルが離間している組合せ領域は,抽出対象の組合せ領域からは除外し,隣接するピクセルによる塊に限定するという連続制約が課される。
[連続制約のBDD生成工程S18]
図16は,連続制約cを適用した場合を示す図である。累積ゲインを示すoutputに対して,連続制約Cを課した場合,論理変数p1,1,p2,1,p1,2,p2,2が0110と1001の組合せ領域が最適領域から除外される。
図16は,連続制約cを適用した場合を示す図である。累積ゲインを示すoutputに対して,連続制約Cを課した場合,論理変数p1,1,p2,1,p1,2,p2,2が0110と1001の組合せ領域が最適領域から除外される。
図17は,連続制約cについて説明するための図である。図17中,式(3)が連続制約cの論理関数を生成する式である。ここで,式(3)内の次の式(4)の意味は,次の通りである。
(p1,1→p2,1'p1,2'p2,2'+p2,1+p1,2) (4)
すなわち,論理変数に対応付けられたピクセルp1,1が「1」の場合は,p2,1'p1,2'p2,2'=1,p2,1=1,p1,2=1のいずれかを満たす組合せ領域で制約なしを示す「1」とする。また,ピクセルp1,1が「0」の場合も制約なしを示す「1」とする。つまり,ピクセルp1,1と連続していない別のピクセルp2,2との組合せ領域だけが制約ありの「0」になる。
(p1,1→p2,1'p1,2'p2,2'+p2,1+p1,2) (4)
すなわち,論理変数に対応付けられたピクセルp1,1が「1」の場合は,p2,1'p1,2'p2,2'=1,p2,1=1,p1,2=1のいずれかを満たす組合せ領域で制約なしを示す「1」とする。また,ピクセルp1,1が「0」の場合も制約なしを示す「1」とする。つまり,ピクセルp1,1と連続していない別のピクセルp2,2との組合せ領域だけが制約ありの「0」になる。
式(3)では,上記式(4)と同様の式が,残りのピクセルp2,1,p1,2,p2,2についても求められ,かつ,全てのピクセルについての式(4)のAND論理演算が行われる。その結果,図16に示した連続制約cのBDDが生成される。
図18は,上記の連続制約cのBDDを生成するフローチャート図である。連続制約cのBDDを生成する工程S18では,最初に,初期値として,連続制約cを恒真関数(全出力が1)のBDDとする(S181)。そして,ピクセル番号i=1〜r(rはピクセル数)について,工程S183,S184の処理を実行する。工程S183は,上記の式(4)と同じであり,Σp∈adj[i]x[p]は対象とするピクセルiに隣接する全ての隣接ピクセルp=adj[j]について,x[p]の論理和をとった式を意味する。
制約cは,上記の連続制約以外の制約条件でもよい。例えば,ある次元が真の組合せ領域は制約するなどでもよい。その場合は,制約cのBDD生成の演算式は異なってくる。
一旦,連続制約cが生成されると,次に累積ゲインBDDと連続制約を表すBDDとでAND論理演算を行えば,制約された組合せ領域を抽出すべき最適領域の候補から除外することができる。図17の下に記載したとおりである。
[累積ゲイン最大の組合せ領域の抽出工程S20,S22]
図19は,累積ゲインが最大になる組合せ領域の抽出工程の例を示す図である。また,図20は,累積ゲインが最大になる組合せ領域の抽出工程のフローチャート図である。この例では,連続制約cにより組合せ領域が連続するピクセルで構成されているという条件を付加している。
図19は,累積ゲインが最大になる組合せ領域の抽出工程の例を示す図である。また,図20は,累積ゲインが最大になる組合せ領域の抽出工程のフローチャート図である。この例では,連続制約cにより組合せ領域が連続するピクセルで構成されているという条件を付加している。
まず最初に,最大ゲイン論理関数new.f1f2f3f4のうち,符号ビットf1の反転f1'と連続制約cとのAND論理演算を行い,その結果のBDDを最適領域論理関数zのBDDに置き換える(S20)。つまり,符号ビットf1が正を示す「0」の組合せ領域だけを抽出するために符号ビットf1を反転し,さらに,連続制約cを課すために反転符号ビットf1'と連続制約cとのAND論理演算を行う。この論理演算はBDDどうしで行う。これにより,符号ビットf1が「0」で且つ連続制約cが「1」の組合せ領域に対して最適領域論理関数zが「1」になる。また,ゲインgainの初期値を0にする(S20)。
その後,最大ゲイン論理関数の2桁目から最下位桁mまで(i=2〜m)について,次の論理演算を実行する(S221,S222)。
Tmp←z*f[i] (5)
式(5)を符号ビットの次の最上位(i=2)から最下位(i=m)まで繰り返しながら(S221,S225),Tmpが恒偽BDDにならない限りは(S223のNo),そのTmpのBDDを最適領域論理関数zのBDDに置き換え,ゲインgainの値にもそのビットの重み2m-iを追加する(S224)。また,Tmpが恒偽BDDになる場合は(S223のNo),TmpのBDDを最適領域論理関数zのBDDに置き換えることと,ゲインgainの値にそのビットの重み2m-iを追加することは行わない。
Tmp←z*f[i] (5)
式(5)を符号ビットの次の最上位(i=2)から最下位(i=m)まで繰り返しながら(S221,S225),Tmpが恒偽BDDにならない限りは(S223のNo),そのTmpのBDDを最適領域論理関数zのBDDに置き換え,ゲインgainの値にもそのビットの重み2m-iを追加する(S224)。また,Tmpが恒偽BDDになる場合は(S223のNo),TmpのBDDを最適領域論理関数zのBDDに置き換えることと,ゲインgainの値にそのビットの重み2m-iを追加することは行わない。
すなわち,累積ゲインの最上位桁から最下位桁の順に,上記の処理を行うことで,最適領域論理関数zは,累積ゲインが最大になる組合せ領域だけ出力が「1」になる。つまり,Tmpが恒偽BDDになるということは,その時点での最適領域論理関数zが「1」の組合せ領域に対して,処理対象桁f[i]の値が「0」であることを意味し,その結果,符号ビットf1の反転ビットf1'と,連続制約cと,累積ゲインの残りの各桁の論理関数f2-f[i]とが全て「1」になる組合せ領域が存在しないことを意味している。従って,その場合は,Tmpを最適領域論理関数zへの置き換えを行うことなく,次の下位桁について式(5)の論理演算を行い,それが恒偽BDDか否かの判断(S223)を行う。
図19の例では,z*f2は,図中下線を引いた組合せ領域のみ「1」になっている。そして,z*f3=0,z*f4=0となったので,下線の組合せ領域が最大ゲインを有する最適領域と判定される。つまり,抽出された最大ゲインを有する最適領域は,論理変数p1,1,p2,1,p1,2,p2,2が1101の組合せ領域になっている。また,その場合の最大ゲインの値は,f2f3f4=100だったので,「4」である。この最大ゲインも,工程S224により累積ゲインの最下位桁の処理が完了した時点で,変数gainに代入済である。
上記の通り,最適領域抽出工程では,連続制約cと累積ゲインnew.f1f2f3f4の各桁とのAND論理演算をBDDにより行うことで,累積ゲインが最大になる組合せ領域を抽出することができる。また,最大ゲインの組合せ領域の抽出と同時に最大ゲインの値も得ることができる。
[変型例]
図21は,累積ゲインが最大になる組合せ領域の抽出工程の別の例を示す図である。また,図22は,累積ゲインが最大になる組合せ領域の抽出工程の別のフローチャート図である。この例では,連続制約cの条件を付加していない。従って,図22のフローチャート図は,工程S20Aが図20の工程S20と異なっている。それ以外は,図20と同じである。それに伴い,図21では,抽出された最大ゲインを有する最適領域が論理変数p1,1,p2,1,p1,2,p2,2が1001になっている。
図21は,累積ゲインが最大になる組合せ領域の抽出工程の別の例を示す図である。また,図22は,累積ゲインが最大になる組合せ領域の抽出工程の別のフローチャート図である。この例では,連続制約cの条件を付加していない。従って,図22のフローチャート図は,工程S20Aが図20の工程S20と異なっている。それ以外は,図20と同じである。それに伴い,図21では,抽出された最大ゲインを有する最適領域が論理変数p1,1,p2,1,p1,2,p2,2が1001になっている。
まず最初に,最大ゲイン論理関数f1f2f3f4のうち,符号ビットf1の反転ビットf1'のBDDを最適領域論理関数zのBDDに置き換える(S20A)。ここでは連続制約cとAND演算されていない。つまり,符号ビットf1が正を示す「0」の組合せ領域だけを抽出している。また,ゲインgainの初期値を0にする(S20A)。
その後,最大ゲイン論理関数の2桁目から最下位桁mまで(i=2〜m)について,図20と同様の論理演算と判定処理を行う。
図21の例では,最下位桁のAND演算でz*f4が恒偽BDDになっている。従って,z=z*f3が「1」の組合せ領域が最適領域として抽出される。また,その場合の最大ゲインの値は,f2f3f4=110だったので「6」である。
図23は,本実施の形態における最適領域抽出装置の具体的な構成図である。上記の説明から明らかなとおり,本最適領域抽出装置は,複数次元の数値属性データに基づいて区分される複数の単位領域を組み合わせた複数の組合せ領域から,最大ゲインを有する組合せ領域を抽出する。最適領域抽出装置1は,複数次元の数値属性データに対する結果属性データの集合40を入力する入力手段30と,複数の単位領域に複数の論理変数を対応させ,複数の組合せ領域に対応する出力値に複数の論理変数に対する論理関数を対応させ,当該論理関数には,結果属性データの二値に応じて所定値を割り当てたゲインを出力値とするゲイン論理関数42と,最適領域か否かを出力値とする最適領域抽出論理関数44とを有し,各論理関数を,複数の論理変数をノードに,複数の論理変数の二値を枝に,出力値を葉ノードにそれぞれ対応させた二分決定グラフ(BDD)で定義した初期値を入力する初期化手段32とを有する。
更に,最適領域抽出装置1は,集合40に含まれる結果属性データそれぞれについて,各結果属性データのゲインを出力値とする現在ゲイン論理関数42と,各結果属性データのゲインの累積値を出力値とする累積ゲイン論理関数42とを,最下位桁から最上位桁まで順次算術加算する加算論理演算を,二分決定グラフによる論理演算で行うゲイン加算手段34と,結果属性データのゲインを累積加算した累積ゲイン論理関数42について,最上位桁から最下位桁まで順次,累積ゲイン論理関数42と最適領域抽出論理関数44とのAND演算を,二分決定グラフによるAND演算で行い,当該最適領域抽出論理関数が恒偽関数でなければ当該AND演算後の最適領域抽出論理関数に更新し,恒偽関数であれば更新しない最適領域抽出手段36と,最下位桁までAND演算した後の最適領域抽出論理関数の出力が真となる組合せ領域を最適領域46として出力する最適領域出力手段38とを有する。
以上説明したとおり,本実施の形態によれば,複数の単位領域に論理変数を割り当て,複数の単位領域を組み合わせた複数の組合せ領域のゲインに論理関数を割り当て,論理関数をBDDで定義することで,複数のデータに対する組合せ領域での累積ゲインの算術加算演算と,最大累積ゲインを有する組合せ領域の抽出の演算とを,BDDによる論理演算で行う。したがって,大量のデータについて算術演算や論理演算をする必要がなく,メモリ容量を少なくすることができ,計算工数を少なくすることができる。
S10:入力工程,初期化工程 S12,S14,S16:ゲイン加算工程
S22:最適領域抽出工程 S24:出力工程
S22:最適領域抽出工程 S24:出力工程
Claims (9)
- 複数次元の数値属性データに基づいて区分される複数の単位領域を組み合わせた複数の組合せ領域から,最大ゲインを有する組合せ領域を抽出する処理がコンピュータによって実行される,最適領域抽出方法において,
前記コンピュータが,複数次元の数値属性データに対する結果属性データの集合を記憶する入力工程と,
前記コンピュータが,前記複数の単位領域に複数の論理変数を対応させ,前記複数の組合せ領域に対応する出力値に前記複数の論理変数に対する論理関数を対応させ,前記論理関数には,前記結果属性データの二値に応じて所定値を割り当てたゲインを出力値とするゲイン論理関数と,最適領域か否かを出力値とする最適領域抽出論理関数とを有し,前記各論理関数を,前記複数の論理変数をノードに,前記複数の論理変数の二値を枝に,前記出力値を葉ノードにそれぞれ対応させた二分決定グラフで定義した初期値を受信する初期化工程と,
前記コンピュータが,前記集合に含まれる結果属性データそれぞれについて,各結果属性データのゲインを出力値とする現在ゲイン論理関数と,前記各結果属性データのゲインの累積値を出力値とする累積ゲイン論理関数とを,最下位桁から最上位桁まで順次算術加算する加算論理演算を,前記二分決定グラフによる論理演算で行うゲイン加算工程と,
前記コンピュータが,前記結果属性データのゲインを累積加算した前記累積ゲイン論理関数について,最上位桁から最下位桁まで順次,前記累積ゲイン論理関数と前記最適領域抽出論理関数とのAND演算を,前記二分決定グラフによるAND演算で行い,当該最適領域抽出論理関数が恒偽関数でなければ当該AND演算後の最適領域抽出論理関数に更新し,前記恒偽関数であれば更新しない最適領域抽出工程と,
前記コンピュータが,前記最下位桁までAND演算した後の前記最適領域抽出論理関数の出力が真となる前記組合せ領域を最適領域として出力する最適領域出力工程とを有する最適領域抽出方法。 - 請求項1において,
前記コンピュータが,少なくとも前記ゲイン加算工程と最適領域抽出工程で,前記論理関数を定義する前記二分決定グラフを,関数名について,前記論理変数に対応するノードと出力値に対応する葉ノードとを前記論理変数の二値に応じて関連付けたデータ構造で,メモリ内に記憶する最適領域抽出方法。 - 請求項1または2において
前記コンピュータが,前記最適領域抽出工程において,前記複数の組合せ領域のうち抽出が禁止される組合せ領域を示す制約を出力値に対応させた制約論理関数と,前記累積ゲイン論理関数の最上位桁とのAND演算を,前記二分決定グラフで行って,前記最適領域抽出論理関数を生成する最適領域抽出方法。 - 請求項3において,
前記最適領域抽出論理関数の初期値が恒真関数であり,
前記コンピュータが,前記累積ゲイン論理関数の最上位桁が符号ビットの場合は,当該最上位桁を反転して,前記制約論理関数とAND演算を,前記二分決定グラフで行う最適領域抽出方法。 - 請求項1において,
前記ゲイン加算工程における加算論理演算は,下位ビットからのキャリー論理関数と,現在ゲイン論理関数と,前記累積ゲイン論理関数との排他的論理和演算を行って,累積ゲイン論理関数を更新する第1の加算論理演算と,前記現在ゲイン論理関数と前記累積ゲイン論理関数とのAND演算を行ってその桁のキャリー論理関数を求める第2の加算論理演算とを有する最適領域抽出方法。 - 複数次元の数値属性データに基づいて区分される複数の単位領域を組み合わせた複数の組合せ領域から,最大ゲインを有する組合せ領域を抽出する最適領域抽出工程をコンピュータに実行させるコンピュータ読み取り可能な最適領域抽出プログラムにおいて,
前記最適領域抽出工程は,
前記コンピュータが,複数次元の数値属性データに対する結果属性データの集合を入力する入力工程と,
前記コンピュータが,前記複数の単位領域に複数の論理変数を対応させ,前記複数の組合せ領域に対応する出力値に前記複数の論理変数に対する論理関数を対応させ,前記論理関数には,前記結果属性データの二値に応じて所定値を割り当てたゲインを出力値とするゲイン論理関数と,最適領域か否かを出力値とする最適領域抽出論理関数とを有し,前記各論理関数を,前記複数の論理変数をノードに,前記複数の論理変数の二値を枝に,前記出力値を葉ノードにそれぞれ対応させた二分決定グラフで定義した初期値を入力する初期化工程と,
前記コンピュータが,前記集合に含まれる結果属性データそれぞれについて,各結果属性データのゲインを出力値とする現在ゲイン論理関数と,前記各結果属性データのゲインの累積値を出力値とする累積ゲイン論理関数とを,最下位桁から最上位桁まで順次算術加算する加算論理演算を,前記二分決定グラフによる論理演算で行うゲイン加算工程と,
前記コンピュータが,前記結果属性データのゲインを累積加算した前記累積ゲイン論理関数について,最上位桁から最下位桁まで順次,前記累積ゲイン論理関数と前記最適領域抽出論理関数とのAND演算を,前記二分決定グラフによるAND演算で行い,当該最適領域抽出論理関数が恒偽関数でなければ当該AND演算後の最適領域抽出論理関数に更新し,前記恒偽関数であれば更新しない最適領域抽出工程と,
前記コンピュータが,前記最下位桁までAND演算した後の前記最適領域抽出論理関数の出力が真となる前記組合せ領域を最適領域として出力する最適領域出力工程とを有する最適領域抽出プログラム。 - 請求項6において,
前記コンピュータが,少なくとも前記ゲイン加算工程と最適領域抽出工程で,前記論理関数を定義する前記二分決定グラフを,関数名について,前記論理変数に対応するノードと出力値に対応する葉ノードとを前記論理変数の二値に応じて関連付けたデータ構造で,メモリ内に記憶する最適領域抽出プログラム。 - 複数次元の数値属性データに基づいて区分される複数の単位領域を組み合わせた複数の組合せ領域から,最大ゲインを有する組合せ領域を抽出する最適領域抽出装置において,
複数次元の数値属性データに対する結果属性データの集合を入力する入力手段と,
前記複数の単位領域に複数の論理変数を対応させ,前記複数の組合せ領域に対応する出力値に前記複数の論理変数に対する論理関数を対応させ,前記論理関数には,前記結果属性データの二値に応じて所定値を割り当てたゲインを出力値とするゲイン論理関数と,最適領域か否かを出力値とする最適領域抽出論理関数とを有し,前記各論理関数を,前記複数の論理変数をノードに,前記複数の論理変数の二値を枝に,前記出力値を葉ノードにそれぞれ対応させた二分決定グラフで定義した初期値を入力する初期化手段と,
前記集合に含まれる結果属性データそれぞれについて,各結果属性データのゲインを出力値とする現在ゲイン論理関数と,前記各結果属性データのゲインの累積値を出力値とする累積ゲイン論理関数とを,最下位桁から最上位桁まで順次算術加算する加算論理演算を,前記二分決定グラフによる論理演算で行うゲイン加算手段と,
前記結果属性データのゲインを累積加算した前記累積ゲイン論理関数について,最上位桁から最下位桁まで順次,前記累積ゲイン論理関数と前記最適領域抽出論理関数とのAND演算を,前記二分決定グラフによるAND演算で行い,当該最適領域抽出論理関数が恒偽関数でなければ当該AND演算後の最適領域抽出論理関数に更新し,前記恒偽関数であれば更新しない最適領域抽出手段と,
前記最下位桁までAND演算した後の前記最適領域抽出論理関数の出力が真となる前記組合せ領域を最適領域として出力する最適領域出力手段とを有する最適領域抽出装置。 - 請求項8において,
前記論理関数を定義する前記二分決定グラフが,関数名について,前記論理変数に対応するノードと出力値に対応する葉ノードとを前記論理変数の二値に応じて関連付けたデータ構造で,メモリ内に記憶される最適領域抽出装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2011/074974 WO2013061464A1 (ja) | 2011-10-28 | 2011-10-28 | 最適領域抽出方法およびその装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2013061464A1 JPWO2013061464A1 (ja) | 2015-04-02 |
JP5741705B2 true JP5741705B2 (ja) | 2015-07-01 |
Family
ID=48167327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013540595A Active JP5741705B2 (ja) | 2011-10-28 | 2011-10-28 | 最適領域抽出方法およびその装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5741705B2 (ja) |
WO (1) | WO2013061464A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7017695B2 (ja) | 2018-04-27 | 2022-02-09 | 富士通株式会社 | 領域生成プログラム、領域生成装置および領域生成方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5133294B2 (ja) * | 2009-04-14 | 2013-01-30 | 日本電信電話株式会社 | 時空間検索装置及び方法及びプログラム |
-
2011
- 2011-10-28 JP JP2013540595A patent/JP5741705B2/ja active Active
- 2011-10-28 WO PCT/JP2011/074974 patent/WO2013061464A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
JPWO2013061464A1 (ja) | 2015-04-02 |
WO2013061464A1 (ja) | 2013-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200151608A1 (en) | Merging feature subsets using graphical representation | |
US10089426B2 (en) | Logic circuit generation device and method | |
US20200409918A1 (en) | Heuristic methods for converting higher order to quadratic polynomials in binary spaces | |
Paszyńska et al. | Quasi‐Optimal Elimination Trees for 2D Grids with Singularities | |
JP6310345B2 (ja) | プライバシー保護装置、プライバシー保護方法及びデータベース作成方法 | |
Bastrakov et al. | Fast method for verifying Chernikov rules in Fourier-Motzkin elimination | |
JP4165712B2 (ja) | データフローグラフの同一サブグラフ検出装置、高位合成装置、データフローグラフの同一サブグラフ検出方法、データフローグラフの同一サブグラフ検出制御プログラムおよび可読記録媒体 | |
JP6777574B2 (ja) | 区分線形近似関数生成装置および方法 | |
JP6451997B2 (ja) | 演算実行装置、方法、及びプログラム | |
CN114723014A (zh) | 张量切分模式的确定方法、装置、计算机设备及介质 | |
Fraiman et al. | Stochastic recursions on directed random graphs | |
US20230273771A1 (en) | Secret decision tree test apparatus, secret decision tree test system, secret decision tree test method, and program | |
JP5741705B2 (ja) | 最適領域抽出方法およびその装置 | |
CN113128015B (zh) | 预估单振幅模拟量子计算所需资源的方法和系统 | |
Behera | Privacy preserving C4. 5 using Gini index | |
Bisi | Random polymers via orthogonal Whittaker and symplectic Schur functions | |
US20170302437A1 (en) | Nondecreasing sequence determining device, method and program | |
US11055448B2 (en) | Systems and methods for SMT processes using uninterpreted function symbols | |
Jiao et al. | An effective branch and bound algorithm for minimax linear fractional programming | |
JP5555238B2 (ja) | ベイジアンネットワーク構造学習のための情報処理装置及びプログラム | |
JP7400833B2 (ja) | トポロジー設計装置、トポロジー設計方法、及びプログラム | |
JP2018206078A (ja) | 並列処理装置、並列演算方法、及び並列演算プログラム | |
Paszyńska | Volume and neighbors algorithm for finding elimination trees for three dimensional h-adaptive grids | |
CN115203485B (zh) | 图数据的处理方法、装置、电子设备及计算机可读介质 | |
JPWO2015155815A1 (ja) | 回路設計装置および回路設計プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20150331 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150413 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5741705 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |