JP5860829B2 - 積演算装置、方法、及びプログラム - Google Patents
積演算装置、方法、及びプログラム Download PDFInfo
- Publication number
- JP5860829B2 JP5860829B2 JP2013056980A JP2013056980A JP5860829B2 JP 5860829 B2 JP5860829 B2 JP 5860829B2 JP 2013056980 A JP2013056980 A JP 2013056980A JP 2013056980 A JP2013056980 A JP 2013056980A JP 5860829 B2 JP5860829 B2 JP 5860829B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- score
- array
- intermediate node
- calculated
- 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
Description
本発明の第1の実施の形態に係る積演算装置について説明する。図1に示すように、本発明の実施の形態に係る積演算装置100は、CPUと、RAMと、後述する積演算処理ルーチンを実行するためのプログラムや各種データを記憶したROMと、を含むコンピュータで構成することが出来る。この積演算装置100は、機能的には図1に示すように入力部10と、演算部20と、出力部50とを備えている。
次に、本発明の第1の実施の形態に係る積演算装置100の作用について説明する。まず、入力部10により、M行N列の二値行列X及びN次元のベクトルqが入力され、積演算装置100のROMに記憶されたプログラムを、CPUが実行することにより、図10に示す積演算処理ルーチンが実行される。
入力部10は、キーボードなどの入力装置から、図2に示すようなM行N列の二値行列Xと、N行G列の行列Yとを受け付ける。なお、入力部10は、ネットワーク等を介して外部から入力されたものを受け付けるようにしてもよい。なお、本発明の第2の実施の形態においては、M行N列の二値行列Xとして、図2に示す4行4列の二値行列が入力されたものとして説明する。
次に、本発明の第2の実施の形態に係る積演算装置100の作用について説明する。まず、入力部10により、M行N列の二値行列X及びN行G列の行列Yが入力され、積演算装置100のROMに記憶されたプログラムを、CPUが実行することにより、図10に示す積演算処理ルーチンが実行される。
20 演算部
22 ZDD構築部
24 ZDD記憶部
26 参照数配列作成部
28 残り参照数配列作成部
30 スコア配列作成部
32 対応配列作成部
34 配列記憶部
36 積計算部
50 出力部
100 積演算装置
Claims (7)
- 入力されたM行N列の二値行列とN次元ベクトルとの積演算を行う積演算装置であって、
前記二値行列を、値を示す終端ノード、前記二値行列の各行に対応する各行ノード、及び前記二値行列の非ゼロの各要素に対応する各中間ノードを含むゼロサプレス型二分決定グラフ(Zero-suppressed Binary Decision Diagrams)に変換するZDD構築手段と、
前記ZDD構築手段により構築されたゼロサプレス型二分決定グラフの中間ノードの各々に対応する各要素を含む配列であり、前記要素の各々に、前記要素に対応する前記中間ノードの親ノードの数である参照数を格納する残り参照数配列を作成する残り参照数配列作成手段と、
前記ゼロサプレス型二分決定グラフの前記終端ノードから前記行ノードに向かう順序で、前記中間ノードの各々について、スコアを算出するスコア算出手段であって、
算出対象の中間ノードの各々について、前記積演算の結果を格納するための一時記憶領域に格納された、前記算出対象の中間ノードの子ノードである各中間ノードのスコアと、前記算出対象の中間ノードに対応する前記二値行列の要素、及び乗算すべき前記N次元ベクトルの要素の積との和を、前記算出対象の中間ノードのスコアとして算出すると共に、前記残り参照数配列の前記子ノードである中間ノードの各々に対する要素に格納された参照数を各々1減算して前記残り参照数配列の参照数が0となった要素に対応する中間ノードのスコアが格納された前記一時記憶領域を未使用にし、かつ、前記算出された前記算出対象の中間ノードのスコアを、未使用となっている前記一時記憶領域に格納し、
前記行ノードの各々について、前記行ノードの子ノードである中間ノードのスコアを前記一時記憶領域から取得し、前記積演算の結果として、M次元ベクトルを出力するスコア算出手段と、
を含む積演算装置。 - 前記積演算の結果を格納するための一時記憶領域として、少なくともM個の要素からなるスコア配列を作成するスコア配列作成手段を更に含み、
前記スコア算出手段は、算出対象の中間ノードの各々について、前記スコア配列に格納された、前記算出対象の中間ノードの各子ノードである中間ノードのスコアと、前記算出対象の中間ノードに対応する前記二値行列の要素、及び乗算すべき前記N次元ベクトルの要素の積との和を、前記算出対象の中間ノードのスコアとして算出すると共に、前記残り参照数配列の前記子ノードである中間ノードの各々に対する要素に格納された参照数を各々1減算し、前記残り参照数配列の参照数が0となった要素に対応する中間ノードのスコアが格納された、前記スコア配列の要素を未使用にし、かつ、前記算出された前記算出対象の中間ノードのスコアを、未使用となっている前記スコア配列の要素に格納し、
前記行ノードの各々について、前記行ノードの子ノードである中間ノードのスコアを前記スコア配列から取得し、前記積演算の結果として、M次元ベクトルを出力する請求項1記載の積演算装置。 - 入力されたM行N列の二値行列とN行G列の行列との積演算を行う積演算装置であって、
前記二値行列を、値を示す終端ノード、前記二値行列の各行に対応する各行ノード、及び前記二値行列の非ゼロの各要素に対応する各中間ノードを含むゼロサプレス型二分決定グラフ(Zero-suppressed Binary Decision Diagrams)に変換するZDD構築手段と、
前記ZDD構築手段により構築されたゼロサプレス型二分決定グラフの中間ノードの各々に対応する各要素を含む配列であり、前記要素の各々に、前記要素に対応する前記中間ノードの親ノードの数である参照数を格納する残り参照数配列を作成する残り参照数配列作成手段と、
前記ゼロサプレス型二分決定グラフの前記終端ノードから前記行ノードに向かう順序で、前記中間ノードの各々について、G次元のスコアベクトルを算出するスコア算出手段であって、
算出対象の中間ノードの各々について、前記積演算の結果を格納するための一時記憶領域に格納された、前記算出対象の中間ノードの各子ノードである中間ノードのスコアベクトルと、前記算出対象の中間ノードに対応する前記二値行列の要素、及び乗算すべき前記N行G列の行列のうちのG次元ベクトルの積との和を、前記算出対象の中間ノードのスコアベクトルとして算出すると共に、前記残り参照数配列の前記子ノードである中間ノードの各々に対する要素に格納された参照数を各々1減算し、前記残り参照数配列の参照数が0となった要素に対応する中間ノードのスコアベクトルが格納された前記一時記憶領域を未使用にし、かつ、前記算出された前記算出対象の中間ノードのスコアベクトルを、未使用となっている前記一時記憶領域に格納し、
前記行ノードの各々について、前記行ノードの子ノードである中間ノードのスコアベクトルを前記一時記憶領域から取得し、前記積演算の結果として、M行G列の行列を出力するスコア算出手段と、
を含む積演算装置。 - 前記積演算の結果を格納するための一時記憶領域として、要素をG次元のベクトルとした少なくともM個の要素からなるスコア配列を作成するスコア配列作成手段を更に含み、
前記スコア算出手段は、算出対象の中間ノードの各々について、前記スコア配列に格納された、前記算出対象の中間ノードの各子ノードである中間ノードのスコアベクトルと、前記算出対象の中間ノードに対応する前記二値行列の要素、及び乗算すべき前記N行G列の行列のうちのG次元ベクトルの積との和を、前記算出対象の中間ノードのスコアベクトルとして算出すると共に、前記残り参照数配列の前記子ノードである中間ノードの各々に対する要素に格納された参照数を各々1減算し、前記残り参照数配列の参照数が0となった要素に対応する中間ノードのスコアベクトルが格納された、前記スコア配列の要素を未使用にし、かつ、前記算出された前記算出対象の中間ノードのスコアベクトルを、未使用となっている前記スコア配列の要素に格納し、
前記行ノードの各々について、前記行ノードの子ノードである中間ノードのスコアベクトルを前記スコア配列から取得し、前記積演算の結果として、M行G列の行列を出力する請求項3記載の積演算装置。 - ZDD構築手段と、残り参照数配列作成手段と、スコア算出手段と、を含み、入力されたM行N列の二値行列とN次元ベクトルとの積演算を行う積演算装置における積演算方法であって、
前記ZDD構築手段によって、前記二値行列を、値を示す終端ノード、前記二値行列の各行に対応する各行ノード、及び前記二値行列の非ゼロの各要素に対応する各中間ノードを含むゼロサプレス型二分決定グラフ(Zero-suppressed Binary Decision Diagrams)に変換するステップと、
前記参照数配列作成手段によって、前記ZDD構築手段により構築されたゼロサプレス型二分決定グラフの中間ノードの各々に対応する各要素を含む配列であり、前記要素の各々に、前記要素に対応する前記中間ノードの親ノードの数である参照数を格納する残り参照数配列を作成するステップと、
前記算出手段によって、前記ゼロサプレス型二分決定グラフの前記終端ノードから前記行ノードに向かう順序で、前記中間ノードの各々について、スコアを算出するステップであって、
前記算出手段によって、算出対象の中間ノードの各々について、前記積演算の結果を格納するための一時記憶領域に格納された、前記算出対象の中間ノードの子ノードである各中間ノードのスコアと、前記算出対象の中間ノードに対応する前記二値行列の要素、及び乗算すべき前記N次元ベクトルの要素の積との和を、前記算出対象の中間ノードのスコアとして算出すると共に、前記残り参照数配列の前記子ノードである中間ノードの各々に対する要素に格納された参照数を各々1減算して前記残り参照数配列の参照数が0となった要素に対応する中間ノードのスコアが格納された前記一時記憶領域を未使用にし、かつ、前記算出された前記算出対象の中間ノードのスコアを、未使用となっている前記一時記憶領域に格納し、
前記行ノードの各々について、前記行ノードの子ノードである中間ノードのスコアを前記一時記憶領域から取得し、前記積演算の結果として、M次元ベクトルを出力するステップと、
を含む積演算方法。 - ZDD構築手段と、残り参照数配列作成手段と、スコア算出手段と、を含み、入力されたM行N列の二値行列とN行G列の行列との積演算を行う積演算装置における積演算方法であって、
前記ZDD構築手段によって、前記二値行列を、値を示す終端ノード、前記二値行列の各行に対応する各行ノード、及び前記二値行列の非ゼロの各要素に対応する各中間ノードを含むゼロサプレス型二分決定グラフ(Zero-suppressed Binary Decision Diagrams)に変換するステップと、
前記残り参照数配列作成手段によって、前記ZDD構築手段により構築されたゼロサプレス型二分決定グラフの中間ノードの各々に対応する各要素を含む配列であり、前記要素の各々に、前記要素に対応する前記中間ノードの親ノードの数である参照数を格納する残り参照数配列を作成するステップと、
前記スコア算出手段によって、前記ゼロサプレス型二分決定グラフの前記終端ノードから前記行ノードに向かう順序で、前記中間ノードの各々について、G次元のスコアベクトルを算出するステップであって、
前記スコア算出手段によって、算出対象の中間ノードの各々について、前記積演算の結果を格納するための一時記憶領域に格納された、前記算出対象の中間ノードの各子ノードである中間ノードのスコアベクトルと、前記算出対象の中間ノードに対応する前記二値行列の要素、及び乗算すべき前記N行G列の行列のうちのG次元ベクトルの積との和を、前記算出対象の中間ノードのスコアベクトルとして算出すると共に、前記残り参照数配列の前記子ノードである中間ノードの各々に対する要素に格納された参照数を各々1減算し、前記残り参照数配列の参照数が0となった要素に対応する中間ノードのスコアベクトルが格納された前記一時記憶領域を未使用にし、かつ、前記算出された前記算出対象の中間ノードのスコアベクトルを、未使用となっている前記一時記憶領域に格納し、
前記行ノードの各々について、前記行ノードの子ノードである中間ノードのスコアベクトルを前記一時記憶領域から取得し、前記積演算の結果として、M行G列の行列を出力するステップと、
を含む積演算方法。 - コンピュータを、請求項1〜4の何れか1項記載の積演算装置を構成する各手段として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013056980A JP5860829B2 (ja) | 2013-03-19 | 2013-03-19 | 積演算装置、方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013056980A JP5860829B2 (ja) | 2013-03-19 | 2013-03-19 | 積演算装置、方法、及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014182615A JP2014182615A (ja) | 2014-09-29 |
JP5860829B2 true JP5860829B2 (ja) | 2016-02-16 |
Family
ID=51701263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013056980A Active JP5860829B2 (ja) | 2013-03-19 | 2013-03-19 | 積演算装置、方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5860829B2 (ja) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07239843A (ja) * | 1994-02-25 | 1995-09-12 | Sony Corp | 並列演算処理装置 |
JP2002032356A (ja) * | 2000-07-18 | 2002-01-31 | Victor Co Of Japan Ltd | 再帰型離散フーリエ変換装置 |
US20040229688A1 (en) * | 2003-05-12 | 2004-11-18 | Electronic Arts Inc. | Methods and apparatus for playing video sequences while loading game data |
JP5634941B2 (ja) * | 2011-05-18 | 2014-12-03 | 日本電信電話株式会社 | 演算装置、演算方法および演算プログラム |
-
2013
- 2013-03-19 JP JP2013056980A patent/JP5860829B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014182615A (ja) | 2014-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Fang et al. | Lower bounds for centered and wrap-around L2-discrepancies and construction of uniform designs by threshold accepting | |
Neumann | Expected runtimes of a simple evolutionary algorithm for the multi-objective minimum spanning tree problem | |
US9524316B2 (en) | Processing search queries using a data structure | |
Cano et al. | Penniless propagation in join trees | |
Wang et al. | Improved multi-order distributed HOSVD with its incremental computing for smart city services | |
Chen et al. | Nearly optimal one-to-many parallel routing in star networks | |
CN105824974B (zh) | 数据分析处理的方法和系统 | |
CN111209410B (zh) | 一种基于锚点的动态知识图谱表示学习方法及系统 | |
Al-Adwan et al. | Solving traveling salesman problem using parallel repetitive nearest neighbor algorithm on OTIS-Hypercube and OTIS-Mesh optoelectronic architectures | |
JP5059132B2 (ja) | 地域情報検索サーバ及び地域情報検索方法 | |
Butz et al. | A simple graphical approach for understanding probabilistic inference in Bayesian networks | |
JP5364996B2 (ja) | 類似ユーザ発見システム、類似ユーザ発見方法および類似ユーザ発見プログラム | |
US11669727B2 (en) | Information processing device, neural network design method, and recording medium | |
JP5860829B2 (ja) | 積演算装置、方法、及びプログラム | |
CN116633800A (zh) | 一种网络拓扑的构建方法、装置、设备及介质 | |
Poormohammadi et al. | TripNet: a method for constructing rooted phylogenetic networks from rooted triplets | |
Grimme | Picking a uniformly random point from an arbitrary simplex | |
Mehrafsa et al. | Vectorising k-truss decomposition for simple multi-core and simd acceleration | |
CN114047926A (zh) | 数组计算表达语言的转换方法、装置、设备及存储介质 | |
CN110210691B (zh) | 资源推荐方法、装置、存储介质及设备 | |
JP5736336B2 (ja) | 行列ベクトル積演算装置、行列ベクトル積演算方法、及び行列ベクトル積演算プログラム | |
JP2014182753A (ja) | Ppr演算装置、方法、及びプログラム | |
Slonkina et al. | Analysis and optimization of the packing tree search algorithm for the knapsack problem | |
Iiduka | Almost sure convergence of random projected proximal and subgradient algorithms for distributed nonsmooth convex optimization | |
CN115204149B (zh) | 基于hdp等价描述的文本主题提取方法、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150129 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151014 |
|
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: 20151124 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20151221 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5860829 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |