JP2020064455A - 計算量評価装置、計算量評価方法及び計算量評価プログラム - Google Patents
計算量評価装置、計算量評価方法及び計算量評価プログラム Download PDFInfo
- Publication number
- JP2020064455A JP2020064455A JP2018195928A JP2018195928A JP2020064455A JP 2020064455 A JP2020064455 A JP 2020064455A JP 2018195928 A JP2018195928 A JP 2018195928A JP 2018195928 A JP2018195928 A JP 2018195928A JP 2020064455 A JP2020064455 A JP 2020064455A
- Authority
- JP
- Japan
- Prior art keywords
- calculation
- unit
- calculation amount
- input
- estimation function
- 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
Landscapes
- Debugging And Monitoring (AREA)
- Complex Calculations (AREA)
Abstract
Description
従来の高速な乗算アルゴリズムとして、例えば、Karatsuba法(非特許文献1参照)、及び高速フーリエ変換乗算法(非特許文献2参照)が提案されている。
例えば、前述のKaratsuba法及び高速フーリエ変換乗算法の漸近計算量は、それぞれO(nlog(2)3)及びO(n・log n)であり、理論上は高速フーリエ変換乗算法が高速である。しかしながら、実装方法(プログラム)、CPU等の動作環境及び入力サイズ(桁数)によっては、高速フーリエ変換乗算法よりもKaratsuba法が高速になる場合もあった。
図1は、本実施形態に係る計算量評価装置1の機能構成を示すブロック図である。
計算量評価装置1は、サーバ装置又はパーソナルコンピュータ等の情報処理装置(コンピュータ)であり、制御部10及び記憶部20の他、各種データの入出力デバイス及び通信デバイス等を備える。
このとき、入力部11は、用意する計算時間のサンプルデータの数、すなわち記録部13による事前計算の実行回数の指定を受け付けてもよい。
ここで、設定部12は、主要項が入力サイズに等しい場合、すなわち、計算アルゴリズムから求められる計算量がO(n)の場合、推定関数を、線型項及び定数項のみとする。
なお、記録部13は、入力サイズを所定の範囲でランダムに選択してもよいし、実行回数に応じて等間隔等に分散して選択してもよい。
出力部15は、算出部14により算出された係数を設定した推定関数を出力する。
選択部16は、入力サイズの指定に対して、同一の処理を行う複数の計算アルゴリズムのうち、対応する推定関数による計算時間の推定値が最小の計算アルゴリズムを選択する。
なお、計算量評価装置1は、任意の計算アルゴリズムを対象とする。
評価対象の計算アルゴリズムによる計算時間f(n)は、入力サイズnにのみ依存し、アルゴリズムの計算量の主要項がC(n)(>O(1))であるものとする。また、計算時間は、入力サイズに比例するオーバヘッドと、常に一定のオーバヘッドとを加味し、f(n)=aC(n)+bn+c(ただし、a,b,cは定数)と表されるものとする。
計算量評価装置1は、実装されたプログラムP、計算量の主要項C(n)、繰り返し回数lを入力として、計算時間の推定関数f(n)を出力する。
なお、繰り返し回数lの値を大きくすると、処理時間は長くなるものの、推定関数の精度が向上する。
ステップ2において、制御部10(記録部13)は、入力サイズniを任意に、あるいは所定間隔等のルールに従って選択する。
ステップ3において、制御部10(記録部13)は、サイズniの入力xiを任意に選択する。
ステップ4において、制御部10(記録部13)は、評価対象の計算アルゴリズムの実装環境において、入力xiを与えてプログラムPを実行し、実計算時間tiを記録する。
ステップ6及び7において、制御部10(算出部14)は、係数a=0とし、推定関数f(n)=bn+cの係数b,cを前述の行列式により算出する。
ステップ8において、制御部10(算出部14)は、推定関数f(n)=aC(n)+bn+cの係数a,b,cを前述の行列式により算出する。
ステップ10において、制御部10(出力部15)は、推定関数f(n)を出力する。
計算アルゴリズムAの実装プログラムと計算アルゴリズムBの実装プログラムとは、入力サイズに応じてそれぞれ計算時間が異なる。計算アルゴリズムAの計算時間を推定する推定関数fAと、計算アルゴリズムBの計算時間を推定する推定関数fBとは、例えば図のように表される。
したがって、計算量評価装置1は、計算アルゴルズムの実装方法、動作環境及び入力サイズに基づき計算時間により計算量を評価できる。この結果、計算量評価装置1は、推定した計算時間により、同一の処理を行う複数の計算アルゴリズムの中から最適な計算アルゴリズムを選択することができる。
10 制御部
11 入力部
12 設定部
13 記録部
14 算出部
15 出力部
16 選択部
20 記憶部
Claims (7)
- 計算アルゴリズムに対して、入力サイズの関数である計算量の主要項を受け付ける入力部と、
前記主要項に所定のオーバヘッドを加味し、係数を付加した計算時間の推定関数を設定する設定部と、
前記計算アルゴリズムの実装環境において、前記入力サイズの異なる計算を複数回実行し、実計算時間を前記入力サイズと対応付けて記録する記録部と、
前記推定関数による計算時間の推定値と前記実計算時間との誤差を最小にするための前記係数を算出する算出部と、
前記算出部により算出された前記係数を設定した前記推定関数を出力する出力部と、を備える計算量評価装置。 - 前記入力部は、前記記録部による計算の実行回数の指定を受け付ける請求項1に記載の計算量評価装置。
- 前記オーバヘッドは、前記入力サイズの線型項及び定数項である請求項1又は請求項2に記載の計算量評価装置。
- 前記設定部は、前記主要項が前記入力サイズに等しい場合、前記推定関数を、前記線型項及び前記定数項のみとする請求項3に記載の計算量評価装置。
- 前記入力サイズの指定に対して、複数の計算アルゴリズムのうち、対応する前記推定関数による計算時間の推定値が最小の計算アルゴリズムを選択する選択部を備える請求項1から請求項4のいずれかに記載の計算量評価装置。
- 計算アルゴリズムに対して、入力サイズの関数である計算量の主要項を受け付ける入力ステップと、
前記主要項に所定のオーバヘッドを加味し、係数を付加した計算時間の推定関数を設定する設定ステップと、
前記計算アルゴリズムの実装環境において、前記入力サイズの異なる計算を複数回実行し、実計算時間を前記入力サイズと対応付けて記録する記録ステップと、
前記推定関数による計算時間の推定値と前記実計算時間との誤差を最小にするための前記係数を算出する算出ステップと、
前記算出ステップにおいて算出された前記係数を設定した前記推定関数を出力する出力ステップと、をコンピュータが実行する計算量評価方法。 - 計算アルゴリズムに対して、入力サイズの関数である計算量の主要項を受け付ける入力ステップと、
前記主要項に所定のオーバヘッドを加味し、係数を付加した計算時間の推定関数を設定する設定ステップと、
前記計算アルゴリズムの実装環境において、前記入力サイズの異なる計算を複数回実行し、実計算時間を前記入力サイズと対応付けて記録する記録ステップと、
前記推定関数による計算時間の推定値と前記実計算時間との誤差を最小にするための前記係数を算出する算出ステップと、
前記算出ステップにおいて算出された前記係数を設定した前記推定関数を出力する出力ステップと、をコンピュータに実行させるための計算量評価プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018195928A JP7003025B2 (ja) | 2018-10-17 | 2018-10-17 | 計算量評価装置、計算量評価方法及び計算量評価プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018195928A JP7003025B2 (ja) | 2018-10-17 | 2018-10-17 | 計算量評価装置、計算量評価方法及び計算量評価プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020064455A true JP2020064455A (ja) | 2020-04-23 |
JP7003025B2 JP7003025B2 (ja) | 2022-01-20 |
Family
ID=70388310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018195928A Active JP7003025B2 (ja) | 2018-10-17 | 2018-10-17 | 計算量評価装置、計算量評価方法及び計算量評価プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7003025B2 (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010113527A (ja) * | 2008-11-06 | 2010-05-20 | Hitachi Systems & Services Ltd | バグ摘出予測システム |
JP2013153257A (ja) * | 2012-01-24 | 2013-08-08 | Axell Corp | 画像処理装置及び画像処理方法 |
JP2013175065A (ja) * | 2012-02-24 | 2013-09-05 | Fujitsu Ltd | 性能評価方法、情報処理装置およびプログラム |
WO2018150588A1 (ja) * | 2017-02-20 | 2018-08-23 | 三菱電機株式会社 | 情報処理装置、情報処理方法及び情報処理プログラム |
US20180247223A1 (en) * | 2017-02-28 | 2018-08-30 | GM Global Technology Operations LLC | System and method of selecting a computational platform |
-
2018
- 2018-10-17 JP JP2018195928A patent/JP7003025B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010113527A (ja) * | 2008-11-06 | 2010-05-20 | Hitachi Systems & Services Ltd | バグ摘出予測システム |
JP2013153257A (ja) * | 2012-01-24 | 2013-08-08 | Axell Corp | 画像処理装置及び画像処理方法 |
JP2013175065A (ja) * | 2012-02-24 | 2013-09-05 | Fujitsu Ltd | 性能評価方法、情報処理装置およびプログラム |
WO2018150588A1 (ja) * | 2017-02-20 | 2018-08-23 | 三菱電機株式会社 | 情報処理装置、情報処理方法及び情報処理プログラム |
US20180247223A1 (en) * | 2017-02-28 | 2018-08-30 | GM Global Technology Operations LLC | System and method of selecting a computational platform |
Also Published As
Publication number | Publication date |
---|---|
JP7003025B2 (ja) | 2022-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Boudot et al. | Comparing the difficulty of factorization and discrete logarithm: a 240-digit experiment | |
Aono et al. | Improved progressive BKZ algorithms and their precise cost estimation by sharp simulator | |
CN114175568B (zh) | 安全的多方到达率和频率估算 | |
Brumley et al. | Remote timing attacks are still practical | |
Aldaya et al. | Cache-timing attacks on RSA key generation | |
Guo et al. | Faster dual lattice attacks for solving LWE with applications to CRYSTALS | |
Baena et al. | Improving support-minors rank attacks: applications to G e MSS and Rainbow | |
JP2017219979A (ja) | 最適化問題解決装置、方法、及びプログラム | |
Lee et al. | Computing the stationary distribution locally | |
Albrecht et al. | Lattice reduction with approximate enumeration oracles: practical algorithms and concrete performance | |
CN110062922A (zh) | 流处理系统和方法 | |
Lange et al. | Kangaroos in side-channel attacks | |
Niederhagen et al. | Implementing Joux-Vitse’s Crossbred Algorithm for Solving Systems over on GPUs | |
Bernstein et al. | Batch NFS | |
Riska et al. | Mamsolver: A matrix analytic methods tool | |
JP6618875B2 (ja) | 評価装置、評価方法及び評価プログラム | |
JP7003025B2 (ja) | 計算量評価装置、計算量評価方法及び計算量評価プログラム | |
JP6044628B2 (ja) | 乱数発生装置、乱数発生方法、オブジェクト配置装置、並びにコンピュータ・プログラム | |
JP6885460B2 (ja) | 逆像サンプリング装置、逆像サンプリング方法および逆像サンプリングプログラム | |
CN116132046A (zh) | 格基加密算法解密错误率的估算方法、介质、设备及系统 | |
Maitin-Shepard | Optimal software-implemented Itoh–Tsujii inversion for F _ 2^ m F 2 m | |
Valois et al. | Performance of password guessing enumerators under cracking conditions | |
JP2021081591A (ja) | 安全性評価装置、安全性評価方法及び安全性評価プログラム | |
JP6710716B2 (ja) | 脅威情報評価装置、脅威情報評価方法およびプログラム | |
Galias | Dynamics of the Hénon map in the digital domain |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201201 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211125 |
|
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: 20211130 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211228 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7003025 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |