説明

演算装置、演算方法及び演算プログラム

【課題】系統性と意外性とを備えた変数を発生させる演算を行う演算装置、演算方法及び演算プログラムを提供する。
【解決手段】演算装置1は、入力部から受け付けた入力データを、一次元の数値ベクトルとし、数値ベクトルを構成する各要素の数値を、n(nは自然数)次元座標上のn次元の格子にて構成されるn次元の超直方体に含まれる各格子点に配置する(S102)。演算装置1は、配置した各格子点の数値、各格子点間の相互作用を示す演算を、格子点毎に実施し(S103)、総合演算結果の算出(S104)、部分演算結果の算出(S106)、及び属性の有無及び属性有りの場合の属性の判定(S107)を実行する。そして、演算装置1は、算出した総合演算結果、部分演算結果及び属性に基づいて応用処理手段を実行する(S108)。

【発明の詳細な説明】
【技術分野】
【0001】
本願は、入力データに基づく演算処理を実行する演算装置、演算方法及び演算プログラムに関する。
【背景技術】
【0002】
コンピュータを用いた様々な分野において、文字データ等の入力データに基づいて所定の規則に則った演算を行い、入力データに依存する出力結果を一義的に決定する演算処理が行われている。また、乱数を発生させ、発生させた乱数を用いた演算も様々な処理に用いられている。乱数を発生させる方法としては、例えば、特許文献1に、画像データを利用した非アルゴリズム的乱数の作成法が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2005−174270号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1は、暗号等の処理に用いられる単なる乱数列を得ることを目的としたものである。本発明は、このような乱数とは異なり、入力データに依存し、入力データの特徴を反映させながらも、入力データに対する非線形性が高い変数を発生させる。即ち、乱数として用いることを可能としながらも、乱数とは異なり、似ている入力データからは似ている変数を発生させるという演算処理を実行することにより、系統性と意外性とを備えた演算結果を得ることが可能な演算装置、演算方法及び演算プログラムの提供を目的とする。
【課題を解決するための手段】
【0005】
本発明に係る演算装置は、入力データを記録する記録手段と、該記録手段に記録された入力データに基づく演算処理を実行する演算手段とを備える演算装置において、前記記録手段は、入力データを、一次元の数値ベクトルとして記録する数値ベクトル記録手段と、n(nは自然数)次元座標上のn次元の格子にて構成されるn次元の超直方体の設定を記録する超直方体記録手段と、前記超直方体に含まれる各格子点及び数値ベクトルを構成する各要素の対応関係を示す設定を記録する対応関係記録手段と、前記超直方体に含まれる各格子点間の相互作用として夫々定義された演算方法を示す設定を記録する相互作用記録手段とを備え、前記演算手段は、前記数値ベクトル記録手段に記録した数値ベクトルを構成する各要素の数値を、前記対応関係記録手段に記録された対応関係に従って、各格子点に配置する手順と、配置した各格子点の数値、及び前記相互作用記録手段に記録された各格子点間の演算方法に基づく演算を、格子点毎に実行する手順と、格子点間毎の演算結果を纏めた総合演算結果を算出する手順とを実行することを特徴とする。
【0006】
本発明に係る演算装置は、前記入力データは、符号列データ、音声データ又は画像データであることを特徴とする。
【0007】
本発明に係る演算装置は、前記演算手段は、更に、変数を用いて処理対象の特性を決定する応用処理手段へ、変数として用いる総合演算結果を渡す手順を実行することを特徴とする。
【0008】
本発明に係る演算装置は、前記演算手段は、更に、変数を用いた処理を実行する応用処理手段へ、変数として用いる総合演算結果を渡す手順を実行することを特徴とする。
【0009】
本発明に係る演算装置は、前記記録手段は、前記超直方体に含まれる一部の格子点を示す部分領域の設定を記録する部分領域記録手段を備え、前記演算手段は、部分領域に含まれる各格子点の数値、及び部分領域に含まれる格子点間の演算方法に基づく演算を、部分領域に含まれる格子点毎にする手順と、部分領域に含まれる格子点毎の演算結果を纏めた部分演算結果を算出する手順と、算出した一又は複数の異なる部分領域の部分演算結果を、変数として前記応用処理手段へ渡すことを特徴とする。
【0010】
本発明に係る演算装置は、前記部分演算結果により示される数値が所定の値である場合、又は複数の部分領域の夫々の部分演算結果により示される複数の数値が所定の関係を有する場合、所定の値又は所定の関係に応じた属性変数を前記応用処理手段へ渡すことを特徴とする。
【0011】
本発明に係る演算装置は、前記部分領域に含まれる格子点又は相互作用が所定の条件を満たす場合、当該所定の条件に応じた属性変数を前記応用処理手段へ渡すことを特徴とする。
【0012】
本発明に係る演算装置は、前記入力データとは異なる外部データを取り込む手段を更に備え、取り込んだ外部データが所定の条件を満たす場合、当該所定の条件に応じた属性変数を前記応用処理手段へ渡すことを特徴とする。
【0013】
本発明に係る演算方法は、入力データを記録する記録手段と、該記録手段に記録された入力データに基づく演算処理を実行する演算手段とを備える演算装置を用いた演算方法において、前記演算装置は、前記記録手段に、入力データを、一次元の数値ベクトルとして記録し、n(nは自然数)次元座標上のn次元の格子にて構成されるn次元の超直方体の設定を記録し、前記超直方体に含まれる各格子点及び数値ベクトルを構成する各要素の対応関係を示す設定を記録し、前記超直方体に含まれる各格子点間の相互作用として夫々定義された演算方法を示す設定を記録し、前記演算手段により、前記記録手段に記録した数値ベクトルを構成する各要素の数値を、前記記録手段に記録された対応関係に従って、各格子点に配置するステップと、配置した各格子点の数値、及び前記記録手段に記録された各格子点間の演算方法に基づく演算を、格子点毎に実行するステップと、格子点間毎の演算結果を纏めた総合演算結果を算出するステップとを実行することを特徴とする。
【0014】
本発明に係る演算プログラムは、入力データを記録する記録手段と、該記録手段に記録された入力データに基づく演算処理を実行する演算手段とを備えるコンピュータに実行させる演算プログラムにおいて、前記コンピュータに、前記記録手段を、入力データを、一次元の数値ベクトルとして記録する数値ベクトル記録手段と、n(nは自然数)次元座標上のn次元の格子にて構成されるn次元の超直方体の設定を記録する超直方体記録手段と、前記超直方体に含まれる各格子点及び数値ベクトルを構成する各要素の対応関係を示す設定を記録する対応関係記録手段と、前記超直方体に含まれる各格子点間の相互作用として夫々定義された演算方法を示す設定を記録する相互作用記録手段ととして用い、前記演算手段を、前記数値ベクトル記録手段に記録した数値ベクトルを構成する各要素の数値を、前記対応関係記録手段に記録された対応関係に従って、各格子点に配置する手順と、配置した各格子点の数値、及び前記相互作用記録手段に記録された各格子点間の演算方法に基づく演算を、格子点毎に実行する手順と、格子点間毎の演算結果を纏めた総合演算結果を算出する手順ととして実行させることを特徴とする。
【発明の効果】
【0015】
本発明では、乱数ではなく、似ている入力データからは、似ている変数を発生させるという演算処理を実行することができ、系統性と意外性とを備えた演算結果を得ることができる。これにより、変化にある程度の連続性があり、かつ複雑性、意外性のある応答を期待すべき様々な処理に適用することができる。例えば、各種ゲーム用アプリケーション、グリッドコンピューティング上のアプリケーション等の様々な処理に展開することが可能である等、優れた効果を奏する。
【図面の簡単な説明】
【0016】
【図1】本発明の演算方法の概要を示す説明図である。
【図2】本発明の演算方法にて設定されるn次元の超直方体の一例を示す概念図である。
【図3】本発明の演算方法における相互作用エネルギーの算出の一例を示す概念図である。
【図4】本発明の演算方法における部分領域の一例を示す概念図である。
【図5】本発明の演算方法における部分領域と割り当てられた特性との関係の一例を示す概念図である。
【図6】本発明の演算装置の構成例を示すブロック図である。
【図7】本発明の演算装置による演算処理の一例を示すフローチャートである。
【図8】本発明の演算装置を用いた通信システムの一例を示す概念図である。
【図9】本発明の演算装置による演算処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0017】
以下、本発明をその実施の形態を示す図面に基づいて詳述する。
【0018】
図1は、本発明の演算方法の概要を示す説明図である。図1に示す様に、本発明の演算方法では、符号列データ、音声データ、画像データ等の入力データを用いる。入力データは、一次元の数値ベクトルに変換される。変換された一次元の数値ベクトルは、(X0 ,X1 ,X2 ,…,XN )等の要素を含む。
【0019】
また、一方で、本発明の演算方法では、n次元座標上のn次元の格子にて構成されるn次元の超直方体を設定する。なお、nは自然数である。ただし、次元を示す変数として用いた自然数nは、数値ベクトルの要素を示す変数として用いた前述のNとは無関係に設定される。また、各格子点間には、相互作用を示す演算を設定する。そして、本発明の演算方法では、数値ベクトルを構成する各要素の数値を超直方体の各格子点に配置する。
【0020】
本発明の演算方法では、各格子点に配置された数値及び相互作用に基づく演算を格子点間毎に実施し、更に、格子点間毎の演算結果を纏めた総合演算結果を算出する。なお、以降の説明では、格子点間の演算結果を相互作用エネルギーと称する。
【0021】
このようにして求められた総合演算結果は、入力データの特徴を反映させた擬似的な乱数として用いられる。即ち、入力データに対して完全なランダム性を有するものではなく、入力データに依存し、入力データの特徴を反映させながらも、入力データに対する非線形性が高い変数が発生することになる。そして、総合演算結果は、変数を用いて処理対象の特性を決定する応用処理手段、変数を用いた処理を実行する応用処理手段等の各種アプリケーションに渡され、各種アプリケーションにて変数として用いられる。具体的には、各種ゲーム用アプリケーション、グリッドコンピューティング等の様々な処理に用いられる。
【0022】
次に本発明の演算方法を構成する各種処理について詳述する。入力データとしては、符号列データ、音声データ、画像データ等の種々のデータを用いることができる。符号列データとは、文字データ、記号データ、数字データ、及びこれらの混合データである。これらは、ユーザが入力した文字列、通信網上に公開されているテキスト等の様々な符号列を、コンピュータ等の演算装置に取り込むことにより入力が行われる。また、入力された符号列データに対し、Unicode 化等の変換を行った上で本発明に係る演算に用いるようにしても良い。
【0023】
音声データとしては、例えば、マイク等の受音機能を有する入力手段にて演算装置に取り込んだ音声をA/D変換したデジタルデータ、更にはMP3(MPEG Audio Layer 3)等の方式で圧縮したデータ等のデータが用いられる。また、通信網を介してバイナリストリーム化したデジタルデータを取り込むことで演算装置に入力するようにしても良い。
【0024】
画像データとしては、静止画を示す画像データだけでなく、動画データ等のデータも用いられる。また、動画データは、音声データを含んでいても良く、動画に関するデータと、音声に関するデータを分離して用いる様にしても良い。そして、画像データの場合は、画像を構成する各画素のRGB、Lab値等の色座標系に変換した値、SIFT、SURF等の手法により抽出した特徴量を用いることもできる。
【0025】
本発明の演算方法では、入力データを一次元の数値ベクトルに変換する。数値ベクトルへの変換に際し、入力データは、2進数、8進数、10進数、16進数等の進数の数値データに変換される。そして、数値データは、各桁の数値毎、又は複数桁の数値毎に(X0 ,X1 ,X2 ,…,XN )等の要素を含む一次元の数値ベクトルに変換される。数値ベクトルを構成する各要素としては、整数、実数の他、複素数、四元数等の様々な代数系を選択することが可能である。例えば、4桁の数値を用いて虚数の要素に変換する場合、i×i=−1として定義される虚数単位iを用いた数式a+bi+c+diを設定し、4桁の数値(abcd)を、虚数の要素{(a+c)+(b+d)i}に変換することができる。
【0026】
図2は、本発明の演算方法にて設定されるn次元の超直方体の一例を示す概念図である。図2は、n次元座標上のn次元の格子にて構成されるn次元の超直方体として、n=3の場合の例を示している。前述のように、nは自然数であり、n=1の場合、一次元の線(線分)を設定することになり、n=2の場合、2次元平面上に長方形を設定することになり、n=3の場合、図2に示すように、3次元空間上に直方体を設定することになる。本発明では、nが4以上の場合も含むため、n次元の超直方体として定義するが、本発明において、n次元の超直方体とは、一次元の線分(線)、二次元の長方形(平面)、三次元の直方体(立体)をも含む概念である。なお、超直方体以外の任意の隣接関係により定義されたN個の要素を用いることも可能である。また、n次元の格子にて構成されるn次元の超直方体には、図中Pとして示す複数の格子点と、Iとして示す格子点間の相互作用とが定義されている。格子点間の相互作用は、相互作用として夫々影響を及ぼす各格子点に配置される数値を用いた演算方法として定義されている。
【0027】
また、超直方体に含まれる各格子点及び数値ベクトルを構成する各要素の対応関係は予め設定されており、入力データに基づく数値ベクトルを構成する各要素の数値は、予め対応付けられている所定の格子点に配置される。なお、格子点への数値の配置に際し、格子点の数の方が、配置すべき数値より多い場合、予め設定されている補完値を用いた調整、配置すべき数値の繰り返し等の調整処理が行われる。また、格子点の数の方が少ない場合、配置すべき数値の圧縮、切り捨て等の調整処理が行われる。
【0028】
数値ベクトルの構成要素としての数値を超直方体の格子点に配置後、配置した各格子点の数値、及び各格子点間の相互作用を示す演算方法に基づいて、格子点毎に相互作用エネルギーの算出としての演算を実行する。図3は、本発明の演算方法における相互作用エネルギーの算出の一例を示す概念図である。図3では、格子点P0 と、格子点P0 と相互作用を及ぼす近傍の格子点P1 、P2 、P3 及びP4 を示している。更に、格子点P0 と近傍の格子点P1 、P2 、P3 及びP4 との相互作用として、I1 、I2 、I3 及びI4 が設定されている。各格子点P0 、P1 、P2 、P3 及びP4 には、数値ベクトルを構成する2進数の数値に基づいて「1」又は「−1」が配置されている。また、各格子点間には、相互作用として、「1」又は「−1」が設定されている。図3において、相互作用の「1」とは、格子点(a,b)に対する演算a×1×bを示し、「−1」とは、格子点(a,b)に対する演算a×(−1)×bを示す。なお、相互作用を示す演算は、図3に示す例に限らず、格子点に配置された数値を用いたものであれば、乗算、加算等の様々な演算を設定することができる。
【0029】
図3に示す例では、格子点P0 、P1 、P2 、P3 及びP4 として、「1」、「−1」、「1」、「−1」及び「1」が設定されている。また、格子点P0 と、格子点P1 、P2 、P3 及びP4 との相互作用I1 、I2 、I3 及びI4 として、「−1」、「1」、「−1」及び「−1」が設定されている。そして、格子点P0 と、格子点P1 、P2 、P3 及びP4 との相互作用エネルギーは、下記の計算により算出される。
【0030】
0 −I1 −P1 :1×(−1)×(−1)=1
0 −I2 −P2 :1× 1 × 1 =1
0 −I3 −P3 :1×(−1)×(−1)=1
0 −I4 −P4 :1×(−1)× 1 =−1
【0031】
即ち、格子点P0 と、格子点P1 、P2 、P3 及びP4 との相互作用エネルギーは、夫々「1」、「1」、「1」及び「−1」であり、格子点P0 についての相互作用エネルギーの合計が2として算出される。
【0032】
本発明の演算方法では、このような格子点における相互作用エネルギーの算出を、格子点毎に実施し、超直方体に含まれる各格子点の相互作用エネルギーの演算結果を纏めた総合演算結果を算出する。総合演算結果は、各格子点の相互作用エネルギーの和として求められる。なお、相互作用エネルギーの和とすることに限らず、二乗和等の様々な演算を適宜設定することが可能である。
【0033】
このようにして算出された総合演算結果は、入力データの特徴を反映させた擬似的な乱数として、変数を用いる各種ゲーム用アプリケーション、グリッドコンピューティング等の様々な処理に用いられる。例えば、応用処理手段としてゲーム用アプリケーションに適用する場合、総合演算結果に基づいてゲーム中の処理対象であるキャラクターの特性を決定する処理を提案することができる。この場合、例えば、画像データを入力データとしてキャラクターの特性を決定する処理を実行することになるが、同じような画像からは同じような特性のキャラクターを決定することができる。但し、総合演算結果には、乱数としての性質も含まれるため、同じような画像に基づくキャラクターは、同じような特性を示しながらも、その特性の予想が困難で意外性を楽しめるという高揚感を提供することができる。
【0034】
また、例えば、応用処理手段として、通信網上のコンピュータ資源に夫々全体の演算のうちの一部となる部分演算を割り当てるグリッドコンピューティング用のソフトに適用することができる。即ち、各コンピュータ資源に対して、割り当てる部分演算の内容を総合演算結果に基づいて決定するというような処理を提案することができる。この場合、連続した番号ではなく、入力データに対する非線形性が高い変数を用いて決定することにより、割り当てるコンピュータ資源の台数が不明であっても適宜対応することができる。また、同じような入力データからは、同じような変数を発生させることができるので、好ましい演算結果が得られた部分演算に近しい部分演算を中心に再度の割当を行う等の処理に展開することも可能である。
【0035】
なお、総合演算結果は、超直方体に含まれる全ての格子点に係る相互作用エネルギーを纏めることにより算出されるが、超直方体に含まれる一部の格子点を部分領域として設定し、部分演算結果を算出するようにしても良い。即ち、設定した部分領域に含まれる各格子点の数値、及び部分領域に含まれる格子点間の演算方法に基づく相互作用エネルギーの演算を、部分領域に含まれる格子点毎に行い、その結果を纏めるのである。なお、各格子点の値及び相互作用エネルギーは、超直方体の全体及び各部分領域のいずれにおいても同じ値が用いられるが、演算方法については、部分領域毎に個別の関数として設定することも可能である。
【0036】
図4は、本発明の演算方法における部分領域の一例を示す概念図である。図4は、n=2の場合の超直方体、即ち長方形の格子点に対し、部分領域1〜5を設定した状態を示している。図4に示すように部分領域は、超直方体のうちの一部の格子点により構成されるものであり、部分領域同士が重複するように設定することも可能である。そして、各部分領域1〜5について算出された相互作用エネルギーを示す夫々の部分演算結果は、予め設定されている変数1〜5として用いられる。
【0037】
図4に示すように複数の部分領域を、一部の領域が重複するように設定した場合、部分演算結果として得られる夫々の変数は、夫々完全に独立したものではなく、相互に依存する変数となる。従って、例えば、ゲーム用キャラクターの特性を決定する処理に適用する場合、特性間の相関を設定することができる。
【0038】
図5は、本発明の演算方法における部分領域と割り当てられた特性との関係の一例を示す概念図である。図5は、図4に示した部分領域にて算出される部分演算結果をゲーム用キャラクタの特性に割り当てる場合の例を示しており、変数1〜5には、夫々特性「体力」、「力」、「寿命」、「素早さ」及び「成長速度」が割り当てられている。このように割り当てた場合、特性「体力」と特性「寿命」とは、相関関係が期待できることになる。例えば、ユーザが、キャラクターの体力が向上するような入力データを検討して入力した場合、「体力」と共に「寿命」も向上するという演出を行うことができる。
【0039】
また、本発明の演算方法では、総合演算結果を用いた変数に付随するパラメータとは別に属性を設定することも可能である。属性とは、個々のアプリケーションに応じて設定することが可能であるが、例えば、前述のゲーム用キャラクターの特性に適用するのであれば、特性に対して加算されるボーナスポイント、特定の能力等の例を示すことができる。このような属性は、入力データとゲーム用キャラクターの特性との対応関係の予測を困難にし、またユーザに対して新たな高揚感を与えるというような効果を見込める。
【0040】
属性の設定方法の例について説明する。例えば、図4に示した部分領域を設定している場合に、各部分領域について算出された相互作用エネルギーの整数部分の総和が、素数、完全数等の所定の性質の値である場合に、その性質に応じた属性を付与するように設定することができる。また、異なる部分領域における相互作用エネルギーの整数部分の関係が、約数、倍数、婚約数等の所定の関係にある場合に、その関係に応じた属性を付与するように設定することができる。即ち、部分演算結果により示される数値が所定の値である場合、又は複数の部分領域の夫々の部分演算結果により示される複数の数値が所定の関係を有する場合、所定の値又は所定の関係に応じた属性を付与する。
【0041】
また、例えば、相互作用エネルギーを「a0 」と定義し、下記の式1にて示す漸化式等の様々な数式による発散性に応じて属性を付与するように設定することができる。式1に例示した漸化式において、相互作用エネルギーa0 が実数の場合に、境界が半径1の円となる。なお、相互作用エネルギーではなく、格子点の値を用いて属性を付与する演算をするようにしても良い。即ち、部分領域に含まれる格子点又は相互作用が所定の条件を満たす場合、当該所定の条件に応じた属性を設定することができる。
【0042】
【数1】

【0043】
さらに、日付、温度、株価等の入力データとは異なる種類のデータを外部から取り込み、取り込んだデータに応じて属性を設定することもできる。即ち、入力データとは異なる外部データが所定の条件を満たす場合、当該所定の条件に応じた属性を設定することができる。
【0044】
次に本発明の演算方法の実装例について説明する。図6は、本発明の演算装置の構成例を示すブロック図である。図6中1は、本発明の演算方法を適用した演算装置であり、演算装置1は、例えばパーソナルコンピュータ等のコンピュータを用いて構成される。演算装置1は、制御部(演算手段)10、補助記憶部11、記録部12、記憶部13、入力部14、出力部15及び通信部16を備えている。
【0045】
制御部10は、装置全体を制御し、各種演算を実行する演算手段として機能するCPU等の機構である。
【0046】
補助記憶部11は、本発明に係る演算プログラム2及びデータ等の各種情報を記録するCD−ROM、DVD−ROM、フラッシュメモリ等の記録媒体から各種情報を読み取る光学ドライブ等の機構である。
【0047】
記録部12は、補助記憶部11にて読み取った各種情報を記録するハードディスク、SSD(Solid State Drive )等の不揮発性のメモリ機構である。
【0048】
記憶部13は、制御部10の処理により一時的に発生する情報を記憶するRAM等の揮発性のメモリ機構である。
【0049】
入力部14は、キーボード、マウス等のユーザの操作入力を受け付ける機構、マイク等の音声入力を受け付ける機構、スキャナ、デジタルカメラ等の画像入力を受け付ける機構等の各種機構を示している。
【0050】
出力部15は、モニタ等の表示機構、プリンタ等の印刷機構等の各種機構を示している。
【0051】
通信部16は、LAN、WAN、インターネット等の通信網に接続する機構である。
【0052】
そして、記録部12に記録した本発明の演算プログラム2を記憶部13に記憶させ、制御部10の制御にて実行することにより、コンピュータは、本発明の演算装置1として動作する。本発明の演算装置1として動作することにより、記録部12の記録領域の一部は、数値ベクトル記録手段120、超直方体記録手段121、対応関係記録手段122、相互作用記録手段123、部分領域記録手段124等の情報記録領域として機能する。なお、説明の便宜上、これらの記録手段として用いられる情報記録領域は、記録部13に確保されるように記載するが、実装形態に応じて、記憶部13等の他のメモリ機構に確保することが可能である。
【0053】
数値ベクトル記録手段120は、入力データを、一次元の数値ベクトルとして記録する情報記録領域である。
【0054】
超直方体記録手段121は、n次元座標上のn次元の格子にて構成されるn次元の超直方体の設定を記録する情報記録領域である。
【0055】
対応関係記録手段122は、超直方体に含まれる各格子点及び数値ベクトルを構成する各要素の対応関係を示す設定を記録する情報記録領域である。
【0056】
相互作用記録手段123は、超直方体に含まれる各格子点間の相互作用として夫々定義された演算方法を示す設定を記録する情報記録領域である。
【0057】
部分領域記録手段124は、超直方体に含まれる一部の格子点を示す部分領域の設定を記録する情報記録領域である。
【0058】
さらに、記録部12には、変数を用いて処理対象の特性を決定するアプリケーションプログラム、変数を用いた処理を実行するアプリケーションプログラム等の様々な応用処理手段3が記録されており、制御部10の制御にて適宜実行される。記録部12に確保される超直方体記録手段121、対応関係記録手段122、相互作用記録手段123、部分領域記録手段124等の記録手段に記録される様々な設定は、実行される応用処理手段3に基づいて決定される。
【0059】
次に本発明の演算装置1を用いた演算処理について説明する。図7は、本発明の演算装置1による演算処理の一例を示すフローチャートである。演算装置1は、演算プログラム2を実行する制御部10の制御により、以下に例示する演算処理を実行する。
【0060】
制御部10は、入力部14から入力データの入力を受け付け、受け付けた入力データを、一次元の数値ベクトルとして、数値ベクトル記録手段120に記録する(S101)。ステップS101では、入力部14から、符号列データ、音声データ、画像データ等の入力データを受け付ける。なお、通信部16を介して通信網上に位置する他の装置から入力データを受け付けるようにしても良く、また、他の記録媒体から入力データを読み取るようにしても良い。
【0061】
制御部10は、数値ベクトル記録手段120に記録した数値ベクトルを構成する各要素の数値を、対応関係記録手段122に記録された対応関係に従って、各格子点に配置する(S102)。
【0062】
制御部10は、配置した各格子点の数値、及び相互作用記録手段123に記録された各格子点間の演算方法に基づく演算を、格子点毎に実施する(S103)。
【0063】
制御部10は、格子点間毎の演算結果を纏めた総合演算結果を算出する(S104)。
【0064】
さらに、制御部10は、部分領域記録手段124に記録されている部分領域の設定に基づいて、部分領域に含まれる各格子点の数値、及び部分領域に含まれる格子点間の演算方法に基づく演算を、部分領域に含まれる格子点毎に実行する(S105)。なお、ステップS103において実施した演算結果を転用し、ステップS105の処理を省略することも可能である。
【0065】
制御部10は、部分領域に含まれる格子点毎の演算結果を纏めた部分演算結果を算出する(S106)。
【0066】
また、制御部10は、各部分領域の部分演算結果に基づいて、該当する属性の有無及び属性有りの場合の属性を判定する(S107)。
【0067】
そして、制御部10は、算出した総合演算結果、部分演算結果及び属性を、応用処理手段3として実行される処理に渡し(S108)、応用処理手段3により、総合演算結果、部分演算結果及び属性に基づく変数を用いて処理対象の特性を決定する(S109)。ステップS109の処理対象の特性の決定とは、例えば、ゲーム用アプリケーションである応用処理手段3において、ゲーム中の処理対象であるキャラクターの特性を決定する処理を示す。そして、演算装置1は、応用処理手段3を実行し、総合演算結果に基づく変数を用いた処理を行う。
【0068】
なお、図7を用いて説明した演算処理では、総合演算結果、部分演算結果及び属性に基づいて処理対象の特性を決定する処理を示しているが、総合演算結果のみ又は部分演算結果のみに基づいて処理対象の特性を決定する等、適宜設定を変更することが可能である。このようにして、本発明に係る演算処理が実行される。
【0069】
図6及び図7では、パーソナルコンピュータ等のコンピュータを用いて本発明の演算装置1を実現する形態を説明したが、実装形態としてはこれに限るものではない。例えば、インターネット等の通信網上に設けられたサーバコンピュータ等のコンピュータを用いて本発明の演算装置1を実現するようにしてもよく、この場合、ASP(Application Service Provider)等の形態で、本発明の演算方法を用いたサービスを提供することになる。
【0070】
図8は、本発明の演算装置1を用いた通信システムの一例を示す概念図である。図8は、サーバコンピュータに本発明の演算装置1を適用した例を示している。図8に示す演算装置1は、通信網を介してパーソナルコンピュータ、携帯電話、通信機能付きゲーム機等の端末装置4,4,…に対してASP等の形態でサービスを提供する。
【0071】
また、前述のように、通信網上の各端末装置4,4,…に対して、夫々全体の演算の内の一部となる部分演算を割り当てるグリッドコンピューティング用のソフトに適用することも可能である。応用処理手段3としてグリッドコンピューティング用のソフトに適用する場合の例について説明する。
【0072】
図9は、本発明の演算装置1による演算処理の一例を示すフローチャートである。演算装置1は、演算プログラム2を実行する制御部10の制御により、図7を用いて説明した演算処理のステップS101〜S107の処理を実行する。なお、ステップS101にて入力する入力データとしては、例えば、初期演算として、日付及び時刻等の初期値を用い、2回目以降の演算からは、前回の演算にて最も好ましい演算結果が出力された入力データの近似値等の値を用いることができる。
【0073】
ステップS101〜S107の処理を実行後、制御部10は、算出した総合演算結果、部分演算結果及び属性を応用処理手順として実行される処理に渡し(S201)、応用処理手段3により、変数を用いて端末装置4の選択及び演算させる部分演算の内容を決定する(S202)。
【0074】
制御部10は、選択した端末装置4へ、演算させる部分演算の内容及び演算に必要な演算用情報を通信部16から送信する(S203)。端末装置4では、受信した情報に基づいて演算を実施し、その結果となる部分演算結果を演算装置1へ送信する。
【0075】
制御部10は、通信部16にて部分演算結果を受信し(S204)、受信した部分演算結果を記録部12に記録する(S205)。このようなグリッドコンピューティングに用いた場合、連続した番号ではなく、入力データに対する非線形性が高い変数を用いて決定することにより、割り当てる端末装置4,4,…の台数が不明であっても適宜対応することができる。また、同じような入力データからは、同じような変数を発生させることができるので、好ましい演算結果が得られた部分演算に近しい部分演算を中心に再度の割当を行う等の処理に展開することも可能である。
【0076】
前記実施の形態は、本願の無数に存在する形態の一部を例示したに過ぎず、各種ハードウェアの構成、処理の手順、その他の条件の設定は、目的、用途等に応じて適宜設計することが可能である。
【符号の説明】
【0077】
1 演算装置
10 制御部(演算手段)
11 補助記憶部
12 記録部
13 記憶部
14 入力部
15 出力部
16 通信部
2 演算プログラム
3 応用処理手段
4 端末装置

【特許請求の範囲】
【請求項1】
入力データを記録する記録手段と、該記録手段に記録された入力データに基づく演算処理を実行する演算手段とを備える演算装置において、
前記記録手段は、
入力データを、一次元の数値ベクトルとして記録する数値ベクトル記録手段と、
n(nは自然数)次元座標上のn次元の格子にて構成されるn次元の超直方体の設定を記録する超直方体記録手段と、
前記超直方体に含まれる各格子点及び数値ベクトルを構成する各要素の対応関係を示す設定を記録する対応関係記録手段と、
前記超直方体に含まれる各格子点間の相互作用として夫々定義された演算方法を示す設定を記録する相互作用記録手段と
を備え、
前記演算手段は、
前記数値ベクトル記録手段に記録した数値ベクトルを構成する各要素の数値を、前記対応関係記録手段に記録された対応関係に従って、各格子点に配置する手順と、
配置した各格子点の数値、及び前記相互作用記録手段に記録された各格子点間の演算方法に基づく演算を、格子点毎に実行する手順と、
格子点間毎の演算結果を纏めた総合演算結果を算出する手順と
を実行する
ことを特徴とする演算装置。
【請求項2】
前記入力データは、符号列データ、音声データ又は画像データであることを特徴とする請求項1に記載の演算装置。
【請求項3】
前記演算手段は、更に、
変数を用いて処理対象の特性を決定する応用処理手段へ、変数として用いる総合演算結果を渡す手順を実行することを特徴とする請求項1又は2に記載の演算装置。
【請求項4】
前記演算手段は、更に、
変数を用いた処理を実行する応用処理手段へ、変数として用いる総合演算結果を渡す手順を実行することを特徴とする請求項1又は2に記載の演算装置。
【請求項5】
前記記録手段は、
前記超直方体に含まれる一部の格子点を示す部分領域の設定を記録する部分領域記録手段を備え、
前記演算手段は、
部分領域に含まれる各格子点の数値、及び部分領域に含まれる格子点間の演算方法に基づく演算を、部分領域に含まれる格子点毎にする手順と、
部分領域に含まれる格子点毎の演算結果を纏めた部分演算結果を算出する手順と、
算出した一又は複数の異なる部分領域の部分演算結果を、変数として前記応用処理手段へ渡すことを特徴とする請求項3又は4に記載の演算装置。
【請求項6】
前記部分演算結果により示される数値が所定の値である場合、又は複数の部分領域の夫々の部分演算結果により示される複数の数値が所定の関係を有する場合、所定の値又は所定の関係に応じた属性変数を前記応用処理手段へ渡すことを特徴とする請求項5に記載の演算装置。
【請求項7】
前記部分領域に含まれる格子点又は相互作用が所定の条件を満たす場合、当該所定の条件に応じた属性変数を前記応用処理手段へ渡すことを特徴とする請求項5又は6に記載の演算装置。
【請求項8】
前記入力データとは異なる外部データを取り込む手段を更に備え、
取り込んだ外部データが所定の条件を満たす場合、当該所定の条件に応じた属性変数を前記応用処理手段へ渡すことを特徴とする請求項1乃至7のいずれかに記載の演算装置。
【請求項9】
入力データを記録する記録手段と、該記録手段に記録された入力データに基づく演算処理を実行する演算手段とを備える演算装置を用いた演算方法において、
前記演算装置は、
前記記録手段に、
入力データを、一次元の数値ベクトルとして記録し、
n(nは自然数)次元座標上のn次元の格子にて構成されるn次元の超直方体の設定を記録し、
前記超直方体に含まれる各格子点及び数値ベクトルを構成する各要素の対応関係を示す設定を記録し、
前記超直方体に含まれる各格子点間の相互作用として夫々定義された演算方法を示す設定を記録し、
前記演算手段により、
前記記録手段に記録した数値ベクトルを構成する各要素の数値を、前記記録手段に記録された対応関係に従って、各格子点に配置するステップと、
配置した各格子点の数値、及び前記記録手段に記録された各格子点間の演算方法に基づく演算を、格子点毎に実行するステップと、
格子点間毎の演算結果を纏めた総合演算結果を算出するステップと
を実行することを特徴とする演算方法。
【請求項10】
入力データを記録する記録手段と、該記録手段に記録された入力データに基づく演算処理を実行する演算手段とを備えるコンピュータに実行させる演算プログラムにおいて、
前記コンピュータに、
前記記録手段を、
入力データを、一次元の数値ベクトルとして記録する数値ベクトル記録手段と、
n(nは自然数)次元座標上のn次元の格子にて構成されるn次元の超直方体の設定を記録する超直方体記録手段と、
前記超直方体に含まれる各格子点及び数値ベクトルを構成する各要素の対応関係を示す設定を記録する対応関係記録手段と、
前記超直方体に含まれる各格子点間の相互作用として夫々定義された演算方法を示す設定を記録する相互作用記録手段と
として用い、
前記演算手段を、
前記数値ベクトル記録手段に記録した数値ベクトルを構成する各要素の数値を、前記対応関係記録手段に記録された対応関係に従って、各格子点に配置する手順と、
配置した各格子点の数値、及び前記相互作用記録手段に記録された各格子点間の演算方法に基づく演算を、格子点毎に実行する手順と、
格子点間毎の演算結果を纏めた総合演算結果を算出する手順と
として実行させることを特徴とする演算プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2013−41340(P2013−41340A)
【公開日】平成25年2月28日(2013.2.28)
【国際特許分類】
【出願番号】特願2011−176292(P2011−176292)
【出願日】平成23年8月11日(2011.8.11)
【出願人】(505127721)公立大学法人大阪府立大学 (688)