(57)【要約】【課題】計算能力を向上できる計算装置、計算プログラム、記録媒体及び計算方法を提供する。【解決手段】実施形態によれば、計算装置は、処理部を含む。処理部は、データ群{ｓ}を入手し、処理手順を繰り返す。処理手順は、第１変数更新及び第２変数更新を含む。第１変数更新は、第１変数ｘｉに第１関数を加えて第１変数ｘｉを更新することを含む。第１関数の変数は、第２変数群｛ｙ｝を含む。第２変数更新は、第２変数ｙｉに第２関数及び第３関数を加えて第２変数ｙｉを更新することを含む。第２関数の変数は、第１変数ｘｉ、及び、データ群{ｓ}を含む。第３関数の変数は、第１変数群｛ｘ｝、及び、第１パラメータ群｛Ｊ｝を含む。処理部は、第４関数を出力する。第４関数の変数は、処理手順を繰り返した後に得られる、第１変数群｛ｘ｝、及び、第２変数群｛ｙ｝の少なくとも一部を含む。【選択図】図１
2020046715.tif 000002
【特許請求の範囲】
【請求項１】
データ群{ｓ}を入手し処理手順を繰り返す処理部を備え、
前記処理手順は第１変数更新及び第２変数更新を含み、
前記第１変数更新は、前記第１変数更新前のｉ番目（ｉは１以上Ｎ以下の整数、前記Ｎは２以上の整数）の第１変数ｘｉに第１関数を加えて前記ｉ番目の前記第１変数ｘｉを更新することを含み、前記ｉ番目の前記第１変数ｘｉは、第１変数群｛ｘ｝の１つであり、前記第１関数の変数は、第２変数群｛ｙ｝の少なくとも一部を含み、
前記第２変数更新は、前記第２変数更新前のｉ番目の第２変数ｙｉに第２関数及び第３関数を加えて前記ｉ番目の前記第２変数ｙｉを更新することを含み、前記ｉ番目の前記第２変数ｙｉは、前記第２変数群｛ｙ｝の１つであり、前記第２関数の変数は、前記ｉ番目の第１変数ｘｉ、及び、前記データ群{ｓ}の少なくとも一部を含み、前記第３関数の変数は、前記第１変数群｛ｘ｝の少なくとも一部、及び、第１パラメータ群｛Ｊ｝の少なくとも一部、を含み、
前記処理部は、少なくとも第４関数を出力し、前記第４関数の変数は、前記処理手順を前記繰り返した後に得られる前記第１変数群｛ｘ｝、及び、前記処理手順を前記繰り返した後に得られる前記第２変数群｛ｙ｝の、少なくとも一部を含む、計算装置。
【請求項２】
保持部をさらに備え、
前記保持部は、前記データ群{ｓ}、前記第１変数群｛ｘ｝、前記第２変数群{ｙ}、及び、前記第１パラメータ群｛Ｊ｝を保持し、
前記処理部は、前記保持部に保持された、前記データ群{ｓ}、前記第１変数群｛ｘ｝、前記第２変数群{ｙ}、及び、前記第１パラメータ群｛Ｊ｝を入手し、
前記処理部は、前記第１変数更新において更新された後の前記第１変数ｘｉを前記保持部に提供し、
前記処理部は、前記第２変数更新において更新された後の前記第２変数ｙｉを前記保持部に提供する、請求項１記載の計算装置。
【請求項３】
前記データ群{ｓ}は、ｋ番目のデータｓｋ（ｋは１以上（Ｓ−１）以下の整数、前記Ｓは２以上の整数）を含み、
前記第２関数は、少なくとも１つの更新パラメータを含み、
前記更新パラメータを前記データｓｋに応じて変化する、請求項１または２に記載の計算装置。
【請求項４】
前記データ群{ｓ}は、ｋ番目のデータｓｋ（ｋは１以上（Ｓ−１）以下の整数）、及び、（ｋ＋１）番目のデータｓｋ＋１を含み、
前記処理部は、前記第２変数更新において、第１更新パラメータを含む前記第２関数を用いて前記第２変数ｙｉをＬ回（Ｌは１以上の整数）更新した後、第２更新パラメータを含む前記第２関数を用いて前記第２変数ｙｉをＬ回更新し、
前記第１更新パラメータは、前記データｓｋに基づき、
前記第２更新パラメータは、前記データｓｋ＋１に基づく、請求項１または２に記載の計算装置。
【請求項５】
前記処理部は、
前記第１更新パラメータを含む前記第２関数を用いた前記Ｌ回の更新後の前記第４関数、及び、前記第２更新パラメータを含む前記第２関数を用いた前記Ｌ回の更新後の前記第４関数を出力可能であり、
処理部は、前記更新パラメータによる前記Ｌ回の更新の間に、前記第４関数をＶ回（Ｖは、２以上Ｌ以下の整数）出力可能である、請求項４記載の計算装置。
【請求項６】
前記処理部は、複数の計算部を含み、
前記第１変数更新の一部は、前記複数の計算部の１つで行われ、
前記第１変数更新の別の一部は、前記複数の計算部の別の１つで行われる、請求項１〜５のいずれか１つに記載の計算装置。
【請求項７】
前記処理部は、更新後の第１変数群{ｘ}と第２パラメータ群{ｗ}との演算結果群{ｚ}を出力可能である、請求項１〜６のいずれか１つに記載の計算装置。
【請求項８】
コンピュータに、データ群{ｓ}を入手させ、処理手順を繰り返させ、第４関数を出力させる計算プログラムであって、
前記処理手順は第１変数更新及び第２変数更新を含み、
前記第１変数更新は、前記第１変数更新前のｉ番目（ｉは１以上Ｎ以下の整数、前記Ｎは２以上の整数）の第１変数ｘｉに第１関数を加えて前記ｉ番目の前記第１変数ｘｉを更新することを含み、前記ｉ番目の前記第１変数ｘｉは、第１変数群｛ｘ｝の１つであり、前記第１関数の変数は、第２変数群｛ｙ｝の少なくとも一部を含み、
前記第２変数更新は、前記第２変数更新前のｉ番目の第２変数ｙｉに第２関数及び第３関数を加えて前記ｉ番目の前記第２変数ｙｉを更新することを含み、前記ｉ番目の前記第２変数ｙｉは、前記第２変数群｛ｙ｝の１つであり、前記第２関数の変数は、前記ｉ番目の第１変数ｘｉ、及び、前記データ群{ｓ}の少なくとも一部を含み、前記第３関数の変数は、前記第１変数群｛ｘ｝の少なくとも一部、及び、第１パラメータ群｛Ｊ｝の少なくとも一部、を含み、
前記第４関数の変数は、前記処理手順を前記繰り返した後に得られる前記第１変数群｛ｘ｝、及び、前記処理手順を前記繰り返した後に得られる前記第２変数群｛ｙ｝の、少なくとも一部を含む、計算プログラム。
【請求項９】
コンピュータに、データ群{ｓ}を入手させ、処理手順を繰り返させ、第４関数を出力させる計算プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記処理手順は第１変数更新及び第２変数更新を含み、
前記第１変数更新は、前記第１変数更新前のｉ番目（ｉは１以上Ｎ以下の整数、前記Ｎは２以上の整数）の第１変数ｘｉに第１関数を加えて前記ｉ番目の前記第１変数ｘｉを更新することを含み、前記ｉ番目の前記第１変数ｘｉは、第１変数群｛ｘ｝の１つであり、前記第１関数の変数は、第２変数群｛ｙ｝の少なくとも一部を含み、
前記第２変数更新は、前記第２変数更新前のｉ番目の第２変数ｙｉに第２関数及び第３関数を加えて前記ｉ番目の前記第２変数ｙｉを更新することを含み、前記ｉ番目の前記第２変数ｙｉは、前記第２変数群｛ｙ｝の１つであり、前記第２関数の変数は、前記ｉ番目の第１変数ｘｉ、及び、前記データ群{ｓ}の少なくとも一部を含み、前記第３関数の変数は、前記第１変数群｛ｘ｝の少なくとも一部、及び、第１パラメータ群｛Ｊ｝の少なくとも一部、を含み、
前記第４関数の変数は、前記処理手順を前記繰り返した後に得られる前記第１変数群｛ｘ｝、及び、前記処理手順を前記繰り返した後に得られる前記第２変数群｛ｙ｝の、少なくとも一部を含む、記録媒体。
【請求項１０】
データ群{ｓ}を入手し、
処理手順を繰り返し、
第４関数を出力し、
前記処理手順は第１変数更新及び第２変数更新を含み、
前記第１変数更新は、前記第１変数更新前のｉ番目（ｉは１以上Ｎ以下の整数、前記Ｎは２以上の整数）の第１変数ｘｉに第１関数を加えて前記ｉ番目の前記第１変数ｘｉを更新することを含み、前記ｉ番目の前記第１変数ｘｉは、第１変数群｛ｘ｝の１つであり、前記第１関数の変数は、第２変数群｛ｙ｝の少なくとも一部を含み、
前記第２変数更新は、前記第２変数更新前のｉ番目の第２変数ｙｉに第２関数及び第３関数を加えて前記ｉ番目の前記第２変数ｙｉを更新することを含み、前記ｉ番目の前記第２変数ｙｉは、前記第２変数群｛ｙ｝の１つであり、前記第２関数の変数は、前記ｉ番目の第１変数ｘｉ、及び、前記データ群{ｓ}の少なくとも一部を含み、前記第３関数の変数は、前記第１変数群｛ｘ｝の少なくとも一部、及び、第１パラメータ群｛Ｊ｝の少なくとも一部、を含み、
前記第４関数の変数は、前記処理手順を前記繰り返した後に得られる前記第１変数群｛ｘ｝、及び、前記処理手順を前記繰り返した後に得られる前記第２変数群｛ｙ｝の、少なくとも一部を含む、計算方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、計算装置、計算プログラム、記録媒体及び計算方法に関する。
【背景技術】
【０００２】
例えば、ニューラルネットワークモデルを用いた計算装置の人工知能への応用が研究されている。ニューラルネットワークとして、フィードフォワード型及び回帰型が知られている。高い計算能力を有する計算装置が望まれる。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】H. Jaeger and H. Haas, Science 304, 78 (2004).
【非特許文献２】W. Maass et al., Neural Comput. 14, 2531 (2002).
【非特許文献３】H. Goto, Sci. Rep. 6, 21686 (2016)．
【非特許文献４】K. Fujii and K. Nakajima, Phys. Rev. Appl. 8, 024030 (2017)．
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の実施形態は、計算能力を向上できる計算装置、計算プログラム、記録媒体及び計算方法を提供する。
【課題を解決するための手段】
【０００５】
本発明の実施形態によれば、計算装置は、処理部を含む。前記処理部は、データ群{ｓ}を入手し、処理手順を繰り返す。前記処理手順は、第１変数更新及び第２変数更新を含む。前記第１変数更新は、前記第１変数更新前のｉ番目（ｉは１以上Ｎ以下の整数、前記Ｎは２以上の整数）の第１変数ｘｉに第１関数を加えて前記ｉ番目の前記第１変数ｘｉを更新することを含む。前記ｉ番目の前記第１変数ｘｉは、第１変数群｛ｘ｝の１つである。前記第１関数の変数は、第２変数群｛ｙ｝の少なくとも一部を含む。前記第２変数更新は、前記第２変数更新前のｉ番目の第２変数ｙｉに第２関数及び第３関数を加えて前記ｉ番目の前記第２変数ｙｉを更新することを含む。前記ｉ番目の前記第２変数ｙｉは、前記第２変数群｛ｙ｝の１つである。前記第２関数の変数は、前記ｉ番目の第１変数ｘｉ、及び、前記データ群{ｓ}の少なくとも一部を含む。前記第３関数の変数は、前記第１変数群｛ｘ｝の少なくとも一部、及び、第１パラメータ群｛Ｊ｝の少なくとも一部、を含む。前記処理部は、少なくとも第４関数を出力する。前記第４関数の変数は、前記処理手順を前記繰り返した後に得られる前記第１変数群｛ｘ｝、及び、前記処理手順を前記繰り返した後に得られる前記第２変数群｛ｙ｝の、少なくとも一部を含む。
【図面の簡単な説明】
【０００６】
【図１】図１は、実施形態に係る計算装置を例示する模式図である。
【図２】図２は、実施形態に係る計算装置の動作を例示するフローチャートである。
【図３】図３は、実施形態に係る計算装置の動作を例示するフローチャートである。
【図４】図４は、実施形態に係る計算装置の動作を例示するフローチャートである。
【図５】図５は、実施形態に係る計算装置の動作を例示するフローチャートである。
【図６】図６は、実施形態に係る計算装置の動作を例示するフローチャートである。
【図７】図７は、実施形態に係る計算装置の特性を例示するグラフ図ある。
【図８】図８は、実施形態に係る計算装置を例示する模式図である。
【図９】図９は、実施形態に係る計算装置の動作を例示するフローチャートである。
【図１０】図１０は、実施形態に係る計算装置の動作を例示するフローチャートである。
【図１１】図１１は、実施形態に係る計算装置の動作を例示するフローチャートである。
【図１２】図１２は、実施形態に係る計算装置の動作を例示するフローチャートである。
【図１３】図１３は、実施形態に係る計算装置の動作を例示するフローチャートである。
【図１４】図１４は、実施形態に係る計算装置の動作を例示するフローチャートである。
【図１５】図１５は、実施形態に係る計算装置の動作を例示するフローチャートである。
【発明を実施するための形態】
【０００７】
以下に、本発明の各実施の形態について図面を参照しつつ説明する。  
本願明細書と各図において、既出の図に関して前述したものと同様の要素には同一の符号を付して詳細な説明は適宜省略する。
【０００８】
（第１実施形態）  
図１は、実施形態に係る計算装置を例示する模式図である。  
図１に示すように、本実施形態に係る計算装置１１０は、例えば、処理部２０を含む。計算装置１１０は、保持部１０をさらに含んでも良い。処理部２０は、例えば、ＣＰＵ（Central Processing Unit）などを含む。処理部２０は、例えば電子回路などを含む。保持部１０は、種々のデータを保持可能である。保持部１０は、例えば、記憶部である。保持部１０は、ＲＯＭ（Read Only Memory）及びＲＡＭ（Random Access Memory）の少なくともいずれかを含んでも良い。計算装置１１０は、計算システムでも良い。
【０００９】
この例では、計算装置１１０に、取得部３１が設けられている。取得部３１は、例えば、種々のデータを入手可能である。取得部３１は、例えば、Ｉ／Ｏポートなどを含む。
【００１０】
この例では、計算装置１１０に、出力部３２が設けられている。出力部３２は、例えば、処理部２０での処理結果を出力可能である。出力部３２は、例えば、ディスプレイ、印刷装置及び通信装置の少なくともいずれかを含む。例えば、通信装置により、他の機器などに出力が行われても良い。
【００１１】
この例では、計算装置１１０に、操作受付部３３が設けられている。操作受付部３３は、例えば、使用者による操作を受け付ける。操作受付部３３は、例えば、キーボート、マウス、タッチ式入力パネル、及び、音声認識入力装置などの少なくともいずれかを含んでも良い。
【００１２】
計算装置１１０に含まれる複数の要素において、無線及び有線の少なくともいずれかの方法により、互いに通信可能である。計算装置１１０に含まれる複数の要素が設けられる場所が、互いに異なっても良い。計算装置１１０として、例えば、汎用コンピュータ（例えばデジタル計算機）が用いられても良い。計算装置１１０として、例えば、互いに接続された複数のコンピュータが用いられても良い。計算装置１１０の少なくとも一部（例えば、処理部２０及び保持部１０など）として、専用の回路が用いられても良い。計算装置１１０として、例えば、互いに接続された複数の回路が用いられても良い。
【００１３】
計算装置１１０に含まれる複数の要素の例については、後述する。
【００１４】
１つの例において、計算装置１１０は、例えば、回帰型のニューラルネットワーク(ＮＮ：neural network）に対応する計算を行う。例えば、回帰型のＮＮに入力データが入力され、ＮＮからの出力が出力される。回帰型のＮＮは、「リザーバ」に対応する。「リザーバ」を用いた計算において、学習が行われても良い。学習においては、例えば、「重み」が適正化される。計算装置１１０は、例えば、リザーバ計算機である。
【００１５】
以下、実施形態に係る計算装置１１０において、実施される動作の例について説明する。
【００１６】
計算装置１１０に、入力データ（例えばデータ群{ｓ}）が入力される。処理部２０は、入力データを取得し、以下に説明する情報処理を行う。処理部２０での処理結果が、出力される。
【００１７】
図２は、実施形態に係る計算装置の動作を例示するフローチャートである。  
図２に示すように、処理部２０は、入力データ（例えばデータ群{ｓ}）を取得する（ステップＳ２０１）。そして、変数の設定を行い（ステップＳ２０２）、変数の計算を行う（ステップＳ２１０）。変数の計算においては、後述するように、処理部２０は、処理手順を繰り返す。
【００１８】
複数の変数が設けられる。複数の変数は、第１変数群｛ｘ｝及び第２変数群｛ｙ｝を含む。ステップＳ２０２において、第１パラメータ群｛Ｊ｝がさらに設定されても良い。ステップＳ２０２において、これらの変数及びパラメータ群は、適切な値に初期化される。初期化の例については、後述する。
【００１９】
例えば、データ群{ｓ}、第１変数群｛ｘ｝、第２変数群{ｙ}、及び、第１パラメータ群｛Ｊ｝は、保持部１０に保持（記憶）されても良い。例えば、入力されたデータ群{ｓ}が保持部１０に保持される。例えば、保持部１０に保持された、データ群{ｓ}、第１変数群｛ｘ｝、第２変数群{ｙ}、及び、第１パラメータ群｛Ｊ｝が、処理部２０に供給される。処理部２０で、第１変数群｛ｘ｝及び第２変数群{ｙ}などが処理される。例えば、第１変数群｛ｘ｝及び第２変数群{ｙ}が更新される。更新された、第１変数群｛ｘ｝及び第２変数群{ｙ}が保持部１０に提供される。保持部１０に保持された、更新後の第１変数群｛ｘ｝及び第２変数群{ｙ}が、処理部２０に供給され、さらなる更新が行われても良い。
【００２０】
例えば、入力データ（データ群{ｓ}）の数は、Ｓ（Ｓは２以上の整数）である。例えば、データ群{ｓ}は、ｋ番目のデータｓｋ（ｋは１以上（Ｓ−１）以下の整数）などを含む。例えば、データ群{ｓ}は、（ｋ＋１）番目のデータｓｋ＋１を含んでも良い。
【００２１】
例えば、第１変数群｛ｘ｝の数Ｎは、２以上の整数である。第１変数群｛ｘ｝は、例えば、ｉ番目（ｉは１以上Ｎ以下の整数）の第１変数ｘｉを含む。
【００２２】
１つの例において、第２変数群｛ｙ｝の数は、数Ｎと同じである。第２変数群｛ｙ｝は、例えば、ｉ番目の第２変数ｙｉを含む。
【００２３】
第１パラメータ群｛Ｊ｝は、例えば、ｉｊ番目の第１パラメータＪｉｊを含む。１つの例において、第１パラメータ群｛Ｊ｝は、Ｎ×Ｎの大きさの対称行列である。この対称行列において、対角成分は、０である。１つの例において、第１パラメータ群｛Ｊ｝の非対角成分は、例えば、複数の乱数である。複数の乱数は、−１以上１以下の区間の値（一様乱数）である。第１パラメータ群｛Ｊ｝の非対角成分は、例えば、−１と＋１との２値の乱数でも良い。例えば、非対角成分のほとんどが０でも良い。
【００２４】
複数の変数の計算（例えば更新）（ステップＳ２１０）においては、例えば、複数の変数の時間発展が計算される。例えば、第１変数群｛ｘ｝が更新され、第２変数群｛ｙ｝が更新される。これらの計算は、所定の条件（後述する）が満たされるまで繰り返される。ステップＳ２１０は、例えば、サブルーチンである。
【００２５】
サブルーチン（変数の更新）の後に、例えば、処理部２０は、関数を算出する（ステップＳ２２０）。例えば、更新後の第１変数群｛ｘ｝、及び、更新後の第２変数群{ｙ}の関数（関数の値）が算出される。後述するように、関数と重み係数との演算結果が算出されても良い。
【００２６】
処理部２０は、算出された関数（または、関数と重み係数との演算結果）を出力する（ステップＳ２３０）。
【００２７】
上記のステップＳ２１０における計算（更新）の例について説明する。
【００２８】
ステップＳ２１０における計算（更新）においては、処理手順が繰り返される。１つの処理手順は、第１変数更新及び第２変数更新を含む。
【００２９】
第１変数更新は、第１変数更新前のｉ番目の第１変数ｘｉに第１関数を加えて、ｉ番目の第１変数ｘｉを更新することを含む。ｉ番目の第１変数ｘｉは、第１変数群｛ｘ｝の１つである。第１関数の変数は、第２変数群｛ｙ｝の少なくとも一部を含む。
【００３０】
第１関数は、例えば、関数ｆｘｉ（{ｙ}）を含む。第１関数は、例えば、第２変数群{ｙ}の関数である。
【００３１】
第２変数更新は、第２変数更新前のｉ番目の第２変数ｙｉに第２関数及び第３関数を加えてｉ番目の第２変数ｙｉを更新することを含む。ｉ番目の第２変数ｙｉは、第２変数群｛ｙ｝の１つである。
【００３２】
第２関数の変数は、ｉ番目の第１変数ｘｉ、及び、データ群{ｓ}の少なくとも一部を含む。第２関数の変数は、第２変数群｛ｙ｝の一部を含んでもよい。
【００３３】
第２関数は、例えば、関数ｆｙｉ（ｘｉ，{ｓ}）を含む。第２関数は、例えば、ｉ番目の第１変数ｘｉ、及び、データ群{ｓ}の関数である。
【００３４】
第３関数の変数は、第１変数群｛ｘ｝の少なくとも一部、及び、第１パラメータ群｛Ｊ｝の少なくとも一部、を含む。
【００３５】
第３関数は、例えば、関数ｇｉ（{ｘ}，{Ｊ}）を含む。第３関数は、例えば、第１変数群｛ｘ｝、及び、第１パラメータ群｛Ｊ｝の関数である。
【００３６】
上記の処理（ステップＳ２１０）の後に、処理部２０は、少なくとも、第４関数を出力する。第４関数の変数は、処理手順を繰り返した後に得られる第１変数群｛ｘ｝、及び、処理手順を繰り返した後に得られる第２変数群｛ｙ｝の、少なくとも一部を含む。第４関数の出力は、ステップＳ２３０に対応する。
【００３７】
図２に例示する処理は、例えば、リザーバ計算に対応する。例えば、計算装置１１０においては、非線形発振器（例えば非線形振動子）の時間発展が計算される。非線形発振器が、例えば、リザーバに対応する。非線形発振器を物理モデルとして用いた計算が、例えば、デジタル計算機により行われる。
【００３８】
非線形発振器に関するモデルが、H. Goto, Sci. Rep. 6, 21686 (2016)により提案されている。実施形態においては、この非線形発振器に関するモデルが変更される。
【００３９】
実施形態において、非線形発振器に関する運動方程式として、以下の第１式及び第２式が採用される。
【００４０】
【数１】
2020046715.tif 000003
【００４１】
【数２】
2020046715.tif 000004
【００４２】
第１式及び第２式は、複数の非線形発振器に対応する。これらの非線形発振器は、互いに相互作用する。複数の非線形発振器の数は、「Ｎ」である。「Ｎ」は、２以上の整数である。
【００４３】
第２式において、「ｔ」は、時間に対応する。上記の式により、第１変数ｘｉ及び第２変数ｙｉの時間発展が計算される。
【００４４】
パラメータｐ(t)は、入力データ（データ{ｓ}）に対応して変化させられる。例えば、パラメータｐ(t)は、例えば、入力された時系列のデータｓｋに対応する波形で、時間変化させられる。パラメータｐ（ｔ）をデータｓｋに応じて時間変化させることで、例えば、非線形発振器に複雑な時間発展を誘起することができる。これにより、例えば、リザーバ計算の性能を向上させることができる。
【００４５】
例えば、第１式及び第２式に基づいて、２Ｎ個の変数（第１変数群{ｘ}及び第２変数群{ｙ}）が、例えば、並列計算される。並列計算により、例えば、短時間で計算結果が得られる。高い計算速度が得られる。計算能力を向上できる。
【００４６】
第１式及び第２式は、微分方程式である。これらの式を数値的に解く際に、第１変数ｘｉ及び第２変数ｙｉが、交互に更新される。この方法により、計算途中で発散することが抑制できる。発散せずに、解が得易くなる。
【００４７】
非線形発振器を用いたリザーバ計算において、非線形系に対して、ある速度（１／Ｔｉｎ）で時系列のデータｓｋ（時系列信号）が入力される。例えば、この速度に対応したサンプリング時間間隔Ｔｓごとに、複数の非線形発振器の状態ｘｋｉが導出される。状態ｘｋｉは、例えば、以下の第３式で与えられる。
【００４８】
【数３】
2020046715.tif 000005
複数の非線形発振器の状態ｘｋｉは、複数の非線形発振器が実際に設けられた場合における複数の非線形発振器の測定値に対応する。
【００４９】
リザーバ計算において、例えば、導出された複数の非線形発振器の状態ｘｋｉと、重みｗｉと、の関数ｚｋ（第４関数）が算出される。第４関数ｚｋは、例えば、以下の第４式で与えられる。
【００５０】
【数４】
2020046715.tif 000006
【００５１】
第４関数ｚｋは、導出された複数の非線形発振器の状態ｘｋｉと、重みｗｉと、の積に対応する。
【００５２】
既に説明したように、リザーバ計算において、学習が行われても良い。例えば、重みｗｉが、学習により変更される。例えば、定数項ｘｋ０を導入する。定数項ｘｋ０は、例えば、１である。例えば、第４関数ｚｋ（計算結果）が、あるデータｓｋ（入力信号列）における計算結果の値Ｚ０ｋ（例えば、目標値）に近くなるように、重みｗｉが変更される。この重みｗｉの変更が、学習に対応する。
【００５３】
例えば、誤差Ｅは、以下の第５式で表される。
【００５４】
【数５】
2020046715.tif 000007
【００５５】
誤差Ｅが最小となるように、重みｗｉが定められる。重みｗｉは、例えば、行列演算の第６式により得られる。
【００５６】
【数６】
2020046715.tif 000008
【００５７】
第６式において、「Ｗ」は、重みｗｉを成分とする列ベクトルである。「Ｘ」は、複数の非線形発振器の状態ｘｋｉを成分とする行列である。「Ｚ０」は、値Ｚ０ｋを成分とする列ベクトルである。「Ｘ＋」は、行列「Ｘ」のMoore-Penrose疑似逆行列である。
【００５８】
実施形態において、「学習」は、計算装置１１０とは別の計算機で行われても良い。例えば、重みｗｉの変更（または更新）の少なくとも一部が、計算装置１１０とは別の計算機で行われても良い。
【００５９】
実施形態に係る１つの例において、複数の非線形発振器の状態ｘｋｉとして、第１変数ｘｉをサンプリングしたものが用いられる。
【００６０】
上記において、例えば、入力データ（データ群{ｓ}、時系列信号）の入力速度と、サンプリング速度と、が同じである。このとき、時系列のデータｓｋ（時系列信号）の入力の速度（１／Ｔｉｎ）と、サンプリング時間間隔Ｔｓと、が同じである。
【００６１】
実施形態において、時系列のデータｓｋ（時系列信号）の入力の時間間隔（Ｔｉｎ）の間に、複数回のサンプリングが行われても良い。例えば、の時間間隔（Ｔｉｎ）の間に、Ｖ回のサンプリングが行われる場合、複数の非線形発振器の数が、Ｎ×Ｖ個であるとして、上記のリザーバ計算が行われても良い。Ｖは、１以上Ｌ以下の整数である。Ｖは、２以上Ｌ以下の整数でも良い。「Ｌ」の例については後述する。
【００６２】
以下、計算装置１１０（処理部２０）で行われる処理の例について説明する。
【００６３】
図３は、実施形態に係る計算装置の動作を例示するフローチャートである。  
図３は、リザーバ計算のフローチャートに対応する。
【００６４】
図３に示すように、入力データ（データ群{ｓ}）を設定する。この設定は、ステップＳ２０１に対応する。例えば、入力データ（データ群{ｓ}）を取得することで、入力データ（データ群{ｓ}）が設定される。
【００６５】
図３に示すように、第１変数群｛ｘ｝及び第２変数群｛ｙ｝の初期化が行われる。初期化は、例えば、ステップＳ２０２に対応する。１つの例において、初期化は、乱数により行われる。
【００６６】
図３に示すように、サブルーチンとして、第１変数群{ｘ}及び（第２変数群{ｙ}（｛ｘｉ｝及び｛ｙｉ｝）の時間発展が計算される。計算は、ステップＳ２１０に対応する。｛ｘｉ｝及び｛ｙｉ｝の時間発展においては、上記の第１変数更新及び第２変数更新が行われる。
【００６７】
図３に示すように、状態ｘｋｉが算出される（ステップＳ２２１）。例えば、上記の第３式に基づく演算が行われる。
【００６８】
図３に示すように、関数ｚｋ（第４関数）が算出される（ステップＳ２２２）。例えば、上記の第４式に基づく演算が行われる。
【００６９】
図３に示すように、関数群{ｚｋ}が出力される（ステップＳ２３０）。
【００７０】
１つの例において、図３に例示する処理は、例えば、処理部２０により行われる。例えば、図３に例示する複数の処理の少なくとも一部は、計算装置１１０により行われる。例えば、図３に例示する複数の処理の一部は、計算装置１１０とは別の計算機で行われても良い。例えば、ステップＳ２２２の少なくとも一部は、計算装置１１０とは別の計算機で行われても良い。
【００７１】
入力データ｛ｓ｝は、｛ｘｉ｝及び｛ｙｉ｝の計算が行われている間に供給されてもよい。これにより、リアルタイム処理を行うことができる。例えば、図３において、ステップＳ２０１の少なくとも一部は、ステップＳ２１０の少なくとも一部と同時に実行されても良い。後述する図５において、ステップＳ３０１の少なくとも一部は、ステップＳ３１０の少なくとも一部と同時に実行されても良い。
【００７２】
図４は、実施形態に係る計算装置の動作を例示するフローチャートである。  
図４は、｛ｘｉ｝及び｛ｙｉ｝の時間発展の計算（サブルーチン）を例示している。図４は、図３に例示したステップＳ２１０の少なくとも一部に対応する。
【００７３】
図４に示すように、パラメータを初期化する（ステップＳ１０１）。例えば、第２式における時間ｔが０とされる。例えば、第２式におけるパラメータｐ（ｔ）が生成される。パラメータｐ（ｔ）は、例えば、時間ｔの関数である「波形」である。
【００７４】
図４に示すように、時間ｔが計算時間Ｔと比較される（ステップＳ１０５）。時間ｔが計算時間Ｔよりも小さいときに、次のステップＳ１１０に進む。例えば、「処理手順」は「ｉ」に関するループ処理を含む（ステップＳ３０１ａ及びステップＳ３０１ｂ）。
【００７５】
ステップＳ１１０では、更新前の第１変数ｘｉにｄｔ＊ｙｉを加えて、更新後の第１変数ｘｉとする（ステップＳ１１０）。すなわち、第１変数ｘｉの更新が行われる。記号「＊」は、積に対応する。
【００７６】
更新前の第２変数ｙｉに、ｄｔ＊{−［Ｄ−ｐ（ｔ）］＊ｘｉ−β０＊ｘｉ＊ｘｉ＊ｘｉ−μ＊ｙｉ}を加えて、更新後の第２変数ｙｉとする（ステップＳ１２１）。すなわち、第２変数ｙｉの更新が行われる。ｄｔ＊{−［Ｄ−ｐ（ｔ）］＊ｘｉ−β０＊ｘｉ＊ｘｉ＊ｘｉ−μ＊ｙｉ}は、第２関数の１つの例である。
【００７７】
計算時間Ｔ、時間ステップｄｔ、パラメータＤ、パラメータｐ（ｔ）、パラメータβ０及びパラメータμは、例えば、適切に設定される。パラメータμが正のとき、「μ＊ｙｉ」の項は、発散を抑える方向に働く。解が安定して得易くなる。
【００７８】
第２変数ｙｉに、ｄｔ＊ｃΣＪｉｊ＊ｘｊを加えて、更新後の第２変数ｙｉとする（ステップＳ１２２）。ｄｔ＊ｃΣＪｉｊ＊ｘｊは、第３関数の１つの例である。このように、この例では、第３関数（関数ｇｉ（{ｘ}，{ｙ}，{Ｊ}）は、第１変数群{ｘ}と第１パラメータ群{Ｊ}と、の積和演算を含む。ステップＳ１２２は、「ｉ」に関してループ処理される（ステップＳ３０２ａ及びステップＳ３０２ｂ）。
【００７９】
ステップＳ１２２において、パラメータ「ｃ」は、例えば、第１パラメータ{Ｊ}の非対角成分の標準偏差の推定値σに応じて定められても良い。例えば、パラメータ「ｃ」は、＝０．７＊Ｄ／{σ＊（Ｎ）１／２}とされる。
【００８０】
ステップＳ１２１及びステップＳ１２２は、ステップＳ１２０に含まれる。ステップＳ１２０は、例えば、第２変数更新に対応する。
【００８１】
この後、時間ｔが更新される（ステップＳ１３０）。例えば、更新前の時間ｔに時間ステップｄｔが加えられて、更新後の時間ｔとされる。
【００８２】
更新された時間ｔが、計算時間Ｔと比較される（ステップＳ１０６）。更新された時間ｔが、計算時間Ｔよりも小さい場合、ステップＳ１０５に戻る。そして、ステップＳ１１０、Ｓ１２０及びＳ１３０がさらに実施される。
【００８３】
更新された時間ｔが計算時間Ｔ以上のときに終了し、関数の出力（図２のステップＳ２２０、図３のステップＳ２２１及びステップＳ２２２）が行われる。
【００８４】
図４に例示する処理の少なくとも一部が、例えば、処理部２０により行われる。
【００８５】
図５は、実施形態に係る計算装置の動作を例示するフローチャートである。  
図５は、学習のフローチャートに対応する。  
図５に示すように、時系列のデータｓｋ（時系列信号）、及び、値群{Ｚ０ｋ}が設定される（ステップＳ３０１）。値群{Ｚ０ｋ}は、入力されたあるデータｓｋ（入力信号列）で得られた計算結果である。値群{Ｚ０ｋ}は、例えば、目標値である。
【００８６】
図５に示すように、第１変数群{ｘ}及び（第２変数群{ｙ}（｛ｘｉ｝及び｛ｙｉ｝）が初期化される（ステップＳ３０２）。
【００８７】
図５に示すように、第１変数群{ｘ}及び第２変数群{ｙ}（｛ｘｉ｝及び｛ｙｉ｝）の計算が行われる（ステップＳ３０２）。これらの変数群の更新が行われる。ステップＳ３１０は、図３に例示したステップＳ２１０に対応する。
【００８８】
図５に示すように、状態ｘｋｉが算出される（ステップＳ３２１）。ステップＳ３２１は、図３に例示したステップＳ２２１に対応する。
【００８９】
図５に示すように、重みｗｉを成分とする列ベクトルである「Ｗ」が算出される（ステップＳ３２２）。例えば、上記の第６式により、「Ｗ」が算出される。重みに関する値群{ｗｉ}が導出される。
【００９０】
図５に示すように、重みに関する値群{ｗｉ}が出力される。
【００９１】
１つの例において、図５に例示する処理は、例えば、処理部２０により行われる。例えば、図５に例示する複数の処理の少なくとも一部は、計算装置１１０により行われる。例えば、図５に例示する複数の処理の一部は、計算装置１１０とは別の計算機で行われても良い。
【００９２】
図６は、実施形態に係る計算装置の動作を例示するフローチャートである。  
図６には、リザーバ計算と、学習と、が記載されている。
【００９３】
例えば、入力データ（例えばデータ群{ｓ}）が設定される（ステップＳ２０１）。この後、図３に関して既に説明したように、ステップＳ２０２、Ｓ２１０、Ｓ２２１、Ｓ２２２及びＳ２３０が実施される。
【００９４】
一方、値群{Ｚ０ｋ}（例えば、目標値）が設定される（ステップＳ３０１）。値群{Ｚ０ｋ}は、入力されたあるデータｓｋ（入力信号列）における計算結果に対応する。
【００９５】
この後、ステップＳ２２１で得られた、状態ｘｋｉの算出結果と、値群{Ｚ０ｋ}と、を用いて、重みｗｉを成分とする列ベクトル「Ｗ」が導出される（ステップＳ３２２）。そして、重みｗｉが出力される（ステップＳ３３０）。
【００９６】
上記の処理（例えばアルゴリズムを含む）は、例えば、ＰＣクラスタ、ＧＰＵ、または、専用回路などの並列デジタル計算機などで実施されても良い。専用回路は、例えば、ＦＰＧＡ、ゲートアレイ、及び、ＡＳＩＣの少なくともいずれかを含んでも良い。
【００９７】
以下、計算結果の例について説明する。モデルとなる非線形発振器のパラメータとして、以下が採用される。
【００９８】
パラメータＤ及びパラメータβ０は、１である。第１パラメータ群{Ｊｉｊ}（{Ｊ}）の非対角成分は、−１以上１以下の乱数である。標準偏差の推定値σは、１／３１／２である。時間ステップｄｔは、０．２である。
【００９９】
リザーバ計算は、ＰＣクラスタにより行われる。リザーバ計算は、以下の手順により行われる。サンプリング時間間隔Ｔｓが与えられ、Ｔｓ＊「総サンプリング数」の時間において、第１式及び第２式の運動方程式が解かれる。
【０１００】
入力データ（例えばデータ群{ｓ}）は、２値の乱数（０または１）である。データ群{ｓ}の、ｋ番目のデータｓｋは、０または１である。サンプリング時間間隔Ｔｓごとに、データｓｋ（０または１の乱数）が与えられ、連続的な波形のパラメータｐ（ｔ）に変換される。ｋ番目の入力データに対応する波形（パラメータｐ（ｔ））が、時刻Ｔｓ（ｋ−１）から時刻Ｔｓｋまでの間に適用される。
【０１０１】
この例では、データｓｋからパラメータｐ（ｔ）への変換は、以下の第７式及び第８式による三角波により行われる。
【０１０２】
【数７】
2020046715.tif 000009
【０１０３】
【数８】
2020046715.tif 000010
【０１０４】
ｋ番目の状態ｘｋｉ（複数の非線形発振器の測定値に対応）は、時刻Ｔｓｋのときにサンプリングされる。第７式及び第８式において、パラメータｐＡＣは、０．２である。パラメータｐＤＣ、サンプリング時間間隔Ｔｓ、数Ｎ、及び、パラメータμを変更して計算が行われる。
【０１０５】
１つの例において、サンプリングの回数は、５０００である。サンプリングの回数が１〜１０００のときの結果は、初期条件の影響を除くために使われない。サンプリングの回数が１０００〜３０００のときに学習が行われる。サンプリングの回数が、４０００〜５０００のときの計算結果が、計算能力の評価に用いられる。サンプリングの回数は、数Ｎよりも大きい。
【０１０６】
リザーバの計算性能を評価するためのタスクとして、短期記憶タスクと、パリティ検査タスクと、がある。短期記憶タスクにおいては、２値の入力データｓｋ（０または１）に対する、短期記憶に関するタスクである。短期記憶タスクにより、記憶能力が評価できる。パリティ検査タスクにより、非線形演算能力が評価できる。これらの２つの能力は、実時間情報処理を行うときの計算能力に対応すると考えられている。
【０１０７】
短期記憶タスクの目標出力は、サンプリング時刻τの前の入力データである。例えば、第９式が用いられる。
【０１０８】
【数９】
2020046715.tif 000011
【０１０９】
第９式のように、τ＝０，１，２…に対して、Ｚ０ｋ＝ｓｋ−τである。
【０１１０】
パリティ検査タスクの目標出力は、過去のサンプリング時刻τまでの入力データの和の偶奇である。例えば、第１０式が用いられる。関数Ｑ（ｅ）は、ｅが偶数のときに０であり、ｅが奇数のときに１となる関数である。  
【数１０】
2020046715.tif 000012
【０１１１】
短期記憶タスク及びパリティ検査タスクにおける計算性能は、学習済みの重みｗｉによる出力と、目標出力と、の比較により評価される。性能指標Ｃは、以下の第１１式で表される。
【０１１２】
【数１１】
2020046715.tif 000013
【０１１３】
第１１式において、「Ｃτ」は、複数のサンプリング時刻τのそれぞれにおける関数ｚｋと値Ｚ０ｋとの相関係数の２乗である。性能指標Ｃは、「Ｃτ」のτに関する和である。この例では、τｍａｘは、１００である。関数ｚｋ（導出された複数の非線形発振器の状態ｘｋｉと、重みｗｉと、の関数であり、第４関数である）と、値Ｚ０ｋ（例えば、目標値）と、が一致したときに、「Ｃτ」は最大値の１となる。関数ｚｋと値Ｚ０ｋとが異なるときに、「Ｃτ」は１よりも小さくなる。
【０１１４】
この例では、１５の互いに異なるデータの組により評価が行われる。データの組は、入力データ（データ群{ｓ}、データｓｋなど）と、第１パラメータ群{Ｊ}（第１パラメータＪｉｊなど）と、を含む。得られた性能指標Ｃが平均される。
【０１１５】
図７は、実施形態に係る計算装置の特性を例示するグラフ図ある。  
図７の横軸は、短期記憶能力ＣＳＴＭである。図７の縦軸は、パリティ検査能力ＣＰＣである。結果ＲＳ１では、パラメータｐＤＣが５．５であり、パラメータμが０．００１であり、サンプリング時間間隔Ｔｓは、５０である。結果ＲＳ２では、パラメータｐＤＣが３であり、パラメータμが０．０００５であり、サンプリング時間間隔Ｔｓは、２００である。結果ＲＳ３では、パラメータｐＤＣが５．５であり、パラメータμが０．０００５であり、サンプリング時間間隔Ｔｓは、１００である。結果ＲＳ１〜ＲＳ３において、数Ｎが１、２、５、１０、２０、５０、１００、２００、５００または１０００の時の結果が、例示されている。
【０１１６】
図７には、参考例の結果ＲＥ１も示されている。結果ＲＥ１は、反響状態ネットワーク(echo-state networks、ＥＳＮｓ、非特許文献１参照)と呼ばれる回帰型ＮＮによる計算の結果である。ＥＳＮｓは、リザーバ計算の研究において、比較に用いられている（例えば、非特許文献４参照）。
【０１１７】
図７に示すように、結果ＲＳ１〜ＲＳ３において、パラメータ（パラメータｐＤＣ、パラメータμ、及び、サンプリング時間間隔Ｔｓ）に応じて、能力指数（短期記憶能力ＣＳＴＭ及びパリティ検査能力ＣＰＣ）は、数Ｎを大きくすると、単調に大きくなる。
【０１１８】
短期記憶及びパリティ検査の一方が大きくなる条件がある。短期記憶能力ＣＳＴＭの最大値は約１００であり、パリティ検査能力ＣＰＣの最大値は、約１００である。これらの値は、参考例のＥＳＮｓにおける値よりも著しく大きい。
【０１１９】
図７に示すように、結果ＲＳ２のように、短期記憶及びパリティ検査の両方が大きくなる条件もある。結果ＲＳ２の場合も、参考例のＥＳＮｓにおける値よりも大きい短期記憶能力ＣＳＴＭ及びパリティ検査能力ＣＰＣが得られる。
【０１２０】
図７に、曲線で示される範囲（ＣＰＣ≦１０００／ＣＳＴＭ）が示されている。この範囲は、短期記憶能力ＣＳＴＭ及びパリティ検査能力ＣＰＣが分布する範囲の目安を示している。
【０１２１】
このように、実施形態に係る計算装置１１０により、計算能力を向上できる計算装置が提供できる。
【０１２２】
上記のように、データｓｋからパラメータｐ（ｔ）への変換は、三角波（例えば、第７式及び第８式参照）により行われても良い。例えば、更新パラメータは、データｓｋが基準値よりも大きいときに、Ｌ回の更新の間に増加した後に減少し、Ｌ回の更新後にＬ回の更新前の値となる。更新パラメータは、データｓｋが基準値よりも小さいときに、Ｌ回の更新の間に減少した後に増加し、Ｌ回の更新後にＬ回の更新前の値となる。
【０１２３】
または、例えば、更新パラメータは、データｓｋが基準値よりも大きいときに、Ｌ回の更新の間に減少した後に増加し、Ｌ回の更新後にＬ回の更新前の値となる。更新パラメータは、データｓｋが基準値よりも小さいときに、Ｌ回の更新の間に増加した後に減少し、Ｌ回の更新後にＬ回の更新前の値となる。
【０１２４】
非線形な入出力関係をもつ要素のネットワークであるニューラルネットワーク（ＮＮ）は、情報処理の工学的モデルとして研究されている。ＮＮは、信号が一方向に伝搬するフィードフォワード型と、ネットワークに自己回帰する閉路が設けられる回帰型と、に、大別される。フィードフォワード型ＮＮは、学習に深層学習が有効であると考えられている。フィードフォワード型ＮＮは、音声認識、画像認識、または、自然言語処理などの幅広い分野において活用される。
【０１２５】
一方、回帰型ＮＮにおいて、閉路により入力履歴が記憶可能である。回帰型ＮＮは、例えば、時系列情報処理へ応用が期待されている。時系列情報処理は、例えば、会話認識、手書き文字認識、ロボット制御、金融予測、または、異常検知などを含む。時系列情報処理においては、例えば、前後関係、または、文脈などが、重要とされる。
【０１２６】
回帰型ＮＮの学習方法に関して、リザーバ計算がある。リザーバ計算においては、出力重みが学習される。この学習は、線形回帰により行われるため、計算量が少ない。リザーバ計算は、活性化関数を用いたＮＮのソフトウェアにおいて提案された。この後、同様な計算が、非線形で複雑な入出力関係をもつ物理系（ハードウェア）を用いて行うことが提案された。例えば、電子回路、半導体レーザ、または、磁性素子などを用いたリザーバ計算が知られている。しかしながら、実用化のためには、計算能力の向上が求められる。計算の信頼性の向上が求められる。
【０１２７】
実施形態においては、例えば、デジタル計算機でリザーバ計算を行うことが可能である。高い計算能力が得られる。高い信頼性が得られる。時系列情報処理が効率的に実施できる。
【０１２８】
既に説明したように、計算装置１１０は、保持部１０（図１参照）を含んでも良い。保持部１０は、データ群{ｓ}、第１変数群｛ｘ｝、第２変数群{ｙ}、及び、第１パラメータ群｛Ｊ｝を保持しても良い。この場合、処理部２０は、保持部１０に保持された、データ群{ｓ}、第１変数群｛ｘ｝、第２変数群{ｙ}、及び、第１パラメータ群｛Ｊ｝を入手する。例えば、処理部２０は、第１変数更新において更新された後の第１変数ｘｉを、保持部１０に提供する。処理部２０は、第２変数更新において更新された後の第２変数ｙｉを保持部１０に提供する。保持部１０は、更新された第１変数ｘｉ及び第２変数ｙｉを保持する。
【０１２９】
既に説明したように、パラメータｐ（ｔ）をデータ群{ｓ}に応じて変化させる。これにより、例えば、非線形発振器に複雑な時間発展を誘起し、リザーバ計算の性能を向上させることができる。例えば、データ群{ｓ}は、ｋ番目のデータｓｋ（ｋは１以上（Ｓ−１）以下の整数、Ｓは２以上の整数）を含む。第２関数は、少なくとも１つの更新パラメータ（パラメータｐ（ｔ））を含む。例えば、この更新パラメータは、データｓｋに応じて変化する。処理部２０が、この更新パラメータをデータｓｋに応じて変化させても良い。
【０１３０】
例えば、データ群{ｓ}は、ｋ番目のデータｓｋ（ｋは１以上（Ｓ−１）以下の整数）、及び、（ｋ＋１）番目のデータｓｋ＋１を含む。１つの例において、処理部２０は、第２変数更新において、第１更新パラメータ（パラメータｐ（ｔ）の１つ）を含む第２関数を用いて第２変数ｙｉをＬ回（Ｌは１以上ＬＭ以下の整数）更新した後、第２更新パラメータ（パラメータｐ（ｔ）の別の１つ）を含む第２関数を用いて第２変数ｙｉをＬ回更新する。この第１更新パラメータは、データｓｋに基づいている。第２更新パラメータは、データｓｋ＋１に基づいてる。このように、データ群{ｓ}の異なるデータに基づいて、パラメータｐ（ｔ）が変化する。
【０１３１】
例えば、第２関数は、第２変数群｛ｙ｝の少なくとも一部を含む項を含む。例えば、この項は、第２変数ｙｉが０のときに０となる。第２変数ｙｉの増加に伴って、第２関数の値は、単調に減少する。
【０１３２】
実施形態において、データ群{ｓ}に応じて変化させたパラメータｐ（ｔ）ごとに、計算結果が出力されても良い。例えば、第１更新パラメータ（パラメータｐ（ｔ）の１つ）を含む第２関数を用いたＬ回の更新後の第４関数（関数ｚｋ）、及び、第２更新パラメータ（パラメータｐ（ｔ）の別の１つ）を含む第２関数を用いたＬ回の更新後の第４関数（関数ｚｋ）が出力されても良い。関数ｚｋは、導出された複数の非線形発振器の状態ｘｋｉと、重みｗｉと、の関数である。
【０１３３】
処理部２０は、処理手順を繰り返すごとに、第４関数を出力しても良い。処理部２０は、処理手順の繰り返しのうちの少なくとも１回の実施の後に、第４関数を出力しても良い。
【０１３４】
既に説明したように、１つの例において、第１関数は、関数ｆｘｉ（｛ｘ｝，{ｙ}）を含む。第２関数は、関数ｆｙｉ（ｘｉ，{ｙ}，{ｓ}）を含む。第３関数は、関数ｇｉ（{ｘ}，{ｙ}，{Ｊ}）を含む。
【０１３５】
例えば、上記の関数ｆｙｉ（ｘｉ，{ｙ}，{ｓ}）は、記第１変数ｘｉの非線形関数を含む。例えば、非線形発振器の動作に基づくＮＮに関する計算が、計算装置１１０により実施される。
【０１３６】
例えば、関数ｇｉ（{ｘ}，{ｙ}，{Ｊ}）は、第１変数群{ｘ}と、第１パラメータ群{Ｊ}と、の積和演算を含む。
【０１３７】
既に説明したように、学習が行われても良い。例えば、重みｗｉが適切に導入される。例えば、図５または図６に示すように、処理部２０は、更新後の第１変数群{ｘ}（すなわち状態ｘｋｉ）と第２パラメータ群{ｗ}（すなわち、重みｗｉ）との演算結果群{ｚ}（すなわち、関数ｚｋであり第４関数）を出力可能でも良い。
【０１３８】
図５及び図６に例示したように、処理部２０は、第４関数（関数ｚｋ）と、値群{Ｚ０}と、に基づいて、第２パラメータ群{ｗ}（すなわち、重みｗｉ）を導出し、出力しても良い。例えば、値群{Ｚ０}は、入力されたあるデータ群{ｓ}における計算結果である。
【０１３９】
既に説明したように、第４関数ｚｋ（計算結果）が、値群{Ｚ０}（値Ｚ０ｋ、例えば、目標値）に近くなるように、重みｗｉが変更されることで学習が行われる。
【０１４０】
保持部１０は、第２パラメータ群{ｗ}（すなわち、重みｗｉ）をさらに保持しても良い。処理部２０は、保持部１０に保持された第２パラメータ群{ｗ}を読み出して、上記の処理を行う。処理した後の第２パラメータ群{ｗ}が、保持部１０に供給されても良い。
【０１４１】
上記の処理の少なくとも一部が、異なる計算部（処理回路）で行われても良い。
【０１４２】
図８は、実施形態に係る計算装置を例示する模式図である。  
図８に示すように、実施形態に係る計算装置１１１は、複数の回路部（第１回路部１５Ａ、第２回路部１５Ｂ及び第３回路部１５Ｃなど）を含む。これらの複数の回路部のそれぞれは、例えば、１つのコンピュータでも良い。これらの複数の回路部のそれぞれは、例えば、１つの電子回路（例えば半導体回路）でも良い。これらの複数の回路部は、互いに通信（例えば、データの送受信）が可能である。計算装置１１１に、制御部１５Ｘがさらに設けられている。制御部１５Ｘにより、複数の回路部における動作（通信を含む）が制御される。
【０１４３】
例えば、複数の回路部のそれぞれには、処理部（計算部）及び保持部（保持領域、記憶部）が設けられる。この他、制御部が設けられても良い。
【０１４４】
複数の回路部（第１回路部１５Ａ、第２回路部１５Ｂ及び第３回路部１５Ｃなど）により、並列計算が行われる。複数の回路部の数は、任意である。
【０１４５】
例えば、第１回路部１５Ａには、第１計算部２０Ａ及び第１保持領域１０Ａが設けられる。この例では、第１回路部１５Ａは、第１制御部１６Ａをさらに含む。第１制御部１６Ａにより、第１計算部２０Ａ及び第１保持領域１０Ａの動作が制御される。
【０１４６】
例えば、第２回路部１５Ｂには、第２計算部２０Ｂ及び第２保持領域１０Ｂが設けられる。この例では、第２回路部１５Ｂは、第２制御部１６Ｂをさらに含む。第２制御部１６Ｂにより、第２計算部２０Ｂ及び第２保持領域１０Ｂの動作が制御される。
【０１４７】
例えば、第３回路部１５Ｃには、第３計算部２０Ｃ及び第３保持領域１０Ｃが設けられる。この例では、第３回路部１５Ｃは、第３制御部１６Ｃをさらに含む。第３制御部１６Ｃにより、第３計算部２０Ｃ及び第３保持領域１０Ｃの動作が制御される。
【０１４８】
この例では、複数の回路部（第１回路部１５Ａ、第２回路部１５Ｂ及び第３回路部１５Ｃなど）に、別の計算部２０ａ、別の計算部２０ｂ及び別の計算部２０ｃがそれぞれ設けられている。別の計算部２０ａにおいて、第１計算部２０Ａとは別に、計算が行われても良い。別の計算部２０ｂにおいて、第２計算部２０Ｂとは別に、計算が行われても良い。別の計算部２０ｃにおいて、第３計算部２０Ｃとは別に、計算が行われても良い。
【０１４９】
このように、複数の回路部により、計算が別に行われても良い。さらに、複数の回路部の１つにおいて、異なる計算部で、別の計算が行われても良い。別の計算は、例えば、並列計算を含む。
【０１５０】
このように、処理部２０は、複数の計算部（例えば、第１〜第３計算部２０Ａ〜２０Ｃ、及び、計算部２０ａ〜２０ｃなど）を含んでも良い。処理部２０で行われる処理の一部が、複数の計算部の１つで行われ、処理部２０で行われる処理の別の一部が、複数の計算部の別の１つで行われても良い。
【０１５１】
既に説明したように、例えば、第１変数群{ｘ}と第１パラメータ群{Ｊ}との積和演算が行われる。この積和演算の一部は、複数の計算部の１つで行われても良い。この積和演算の別の一部は、複数の計算部の別の１つで行われても良い。
【０１５２】
例えば、第１変数更新の一部が、複数の計算部の１つで行われても良い。第１変数更新の別の一部が、複数の計算部の別の１つで行われても良い。
【０１５３】
例えば、第２変数更新の一部が、複数の計算部の１つで行われても良い。第２変数更新の別の一部は、複数の計算部の別の１つで行われても良い。
【０１５４】
異なる計算部で、別の計算（例えば並列計算）が行われることで、高速の計算が可能になる。
【０１５５】
既に説明したように、実施形態は、計算システムを含んでも良い。計算システムにおいて、１または複数の処理部が設けられる。１または複数の処理部は、上記の処理手順を繰り返す。複数の処理部は、上記の複数の計算部に対応する。
【０１５６】
図４に例示した処理においては、第１変数更新（ステップＳ１１０）の後に、第２変数更新（ステップＳ１２０）が行われる。実施形態において、第２変数更新（ステップＳ１２０）の後に、第１変数更新（ステップＳ１１０）が行われても良い。
【０１５７】
図４に示すように、第２変数更新（ステップＳ１２０）は、ステップＳ１２１（第１サブ更新）と、ステップＳ１２２（第２サブ更新）と、を含む。第１サブ更新は、第１サブ更新前のｉ番目の第２変数ｙｉに第２関数を加えてｉ番目の前記第２変数ｙｉを更新することを含む。第２サブ更新は、第２サブ更新前のｉ番目の第２変数ｙｉに第３関数を加えてｉ番目の第２変数ｙｉを更新することを含む。
【０１５８】
図４に例示した処理（サブルーチン）は、以下に説明するように、種々の変形が可能である。
【０１５９】
図９〜図１５は、実施形態に係る計算装置の動作を例示するフローチャートである。  
これらの図は、第１変数群{ｘ}及び第２変数群{ｙ}（｛ｘｉ｝及び｛ｙｉ｝）の時間発展計算（サブルーチン）を例示している。
【０１６０】
図９〜図１５に示すように、第１変数更新（ステップＳ１１０）、第１サブ更新（ステップＳ１２１）、及び、第２サブ更新（ステップＳ１２２）は、種々の順序で、種々のループで実施されても良い。
【０１６１】
図１０及び図１４に示すように、ステップＳ１０７ａ〜ステップＳ１０７ｂにおいて、Ｍ回の繰り返し処理が行われる。図１１及び図１５に示すように、ステップＳ１０７ｃ〜ステップＳ１０７ｄにおいて、Ｍ回の繰り返し処理が行われる。
【０１６２】
例えば、第１変数更新及び第１サブ更新を交互にＭ回（Ｍは１以上の整数）行った後に、第２サブ更新を行っても良い（図１０参照）。第２サブ更新後、第１変数更新及び第１サブ更新を交互にＭ回行っても良い（図１１参照）。
【０１６３】
（第２実施形態）  
第２実施形態は、第１実施形態に関して説明した計算が可能な回路を含む。回路は、例えば、専用回路などの並列デジタル計算機を含んでも良い。専用回路は、例えば、ＦＰＧＡ、ゲートアレイ、及び、ＡＳＩＣの少なくともいずれかを含んでも良い。
【０１６４】
（第３実施形態）  
第３実施形態は、計算プログラムに係る。この計算プログラムは、コンピュータに、データ群{ｓ}を入手させ、処理手順を繰り返させ、第４関数を出力させる。この処理手順は上記の第１変数更新及び上記の第２変数更新を含む。上記の第４関数は、処理手順を繰り返した後に得られる、第１変数群｛ｘ｝及び第２変数群｛ｙ｝の関数である。本実施形態に係る計算プログラムには、第１実施形態に関して説明した処理が適用できる。
【０１６５】
（第４実施形態）  
第４実施形態は、コンピュータ読み取り可能な記録媒体である。この記録媒体は、計算プログラムが記録されている。計算プログラムは、コンピュータに、データ群{ｓ}を入手させ、処理手順を繰り返させ、第４関数を出力させる。この処理手順は、上記の第１変数更新及び上記の第２変数更新を含む。上記の第４関数は、処理手順を繰り返した後に得られる、第１変数群｛ｘ｝及び第２変数群｛ｙ｝の関数である。本実施形態に係る記録媒体には、第１実施形態に関して説明した処理が適用できる。
【０１６６】
（第５実施形態）  
本実施形態は、計算方法に係る。計算方法は、データ群{ｓ}を入手し、処理手順を繰り返し、第４関数を出力する。処理手順は、上記の第１変数更新及び上記の第２変数更新を含む。上記の第４関数は、処理手順を繰り返した後に得られる、第１変数群｛ｘ｝及び第２変数群｛ｙ｝の関数である。本実施形態に係る計算方法において、第１実施形態に関して説明した処理が実施される。
【０１６７】
上記の種々の情報（データ）の処理（指示）は、例えば、プログラム（ソフトウェア）に基づいて実行される。例えば、コンピュータが、このプログラムを記憶し、このプログラムを読み出すことにより、上記の種々の情報の処理が行われる。
【０１６８】
上記の種々の情報の処理は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フレキシブルディスク及びハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ±Ｒ、ＤＶＤ±ＲＷなど）、半導体メモリ、または、他の記録媒体に記録されても良い。
【０１６９】
例えば、記録媒体に記録された情報は、コンピュータ（または組み込みシステム）により読み出されることが可能である。記録媒体において、記録形式（記憶形式）は任意である。例えば、コンピュータは、記録媒体からプログラムを読み出し、このプログラムに基づいてプログラムに記述されている指示をＣＰＵで実行させる。コンピュータにおいて、プログラムの取得（または読み出し）は、ネットワークを通じて行われても良い。
【０１７０】
記録媒体からコンピュータ（または組み込みシステム）にインストールされたプログラムに基づいてコンピュータ上で稼働している種々のソフトウェアにおいて、上記の情報の処理の少なくとも一部が実施されても良い。このソフトウェアは、例えば、ＯＳ（オペレーティングシステム）などを含む。このソフトウェアは、例えば、ネットワーク上で動作するミドルウェアなどを含んでも良い。
【０１７１】
実施形態における記録媒体は、ＬＡＮまたはインターネットなどにより得られたプログラムをダウンロードして記憶された記録媒体も含まれる。複数の記録媒体に基づいて、上記の処理が行われても良い。
【０１７２】
実施形態に係るコンピュータは、１つまたは複数の装置（例えばパーソナルコンピュータなど）を含む。実施形態に係るコンピュータは、ネットワークにより接続された複数の装置を含んでも良い。
【０１７３】
実施形態は、例えば、以下の構成（例えば技術案）を含んでも良い。  
（構成１）  
データ群{ｓ}を入手し処理手順を繰り返す処理部を備え、
前記処理手順は第１変数更新及び第２変数更新を含み、
前記第１変数更新は、前記第１変数更新前のｉ番目（ｉは１以上Ｎ以下の整数、前記Ｎは２以上の整数）の第１変数ｘｉに第１関数を加えて前記ｉ番目の前記第１変数ｘｉを更新することを含み、前記ｉ番目の前記第１変数ｘｉは、第１変数群｛ｘ｝の１つであり、前記第１関数の変数は、第２変数群｛ｙ｝の少なくとも一部を含み、
前記第２変数更新は、前記第２変数更新前のｉ番目の第２変数ｙｉに第２関数及び第３関数を加えて前記ｉ番目の前記第２変数ｙｉを更新することを含み、前記ｉ番目の前記第２変数ｙｉは、前記第２変数群｛ｙ｝の１つであり、前記第２関数の変数は、前記ｉ番目の第１変数ｘｉ、及び、前記データ群{ｓ}の少なくとも一部を含み、前記第３関数の変数は、前記第１変数群｛ｘ｝の少なくとも一部、及び、第１パラメータ群｛Ｊ｝の少なくとも一部、を含み、
前記処理部は、少なくとも第４関数を出力し、前記第４関数の変数は、前記処理手順を前記繰り返した後に得られる前記第１変数群｛ｘ｝、及び、前記処理手順を前記繰り返した後に得られる前記第２変数群｛ｙ｝の、少なくとも一部を含む、計算装置。
【０１７４】
（構成２）  
保持部をさらに備え、
前記保持部は、前記データ群{ｓ}、前記第１変数群｛ｘ｝、前記第２変数群{ｙ}、及び、前記第１パラメータ群｛Ｊ｝を保持し、
前記処理部は、前記保持部に保持された、前記データ群{ｓ}、前記第１変数群｛ｘ｝、前記第２変数群{ｙ}、及び、前記第１パラメータ群｛Ｊ｝を入手し、
前記処理部は、前記第１変数更新において更新された後の前記第１変数ｘｉを前記保持部に提供し、
前記処理部は、前記第２変数更新において更新された後の前記第２変数ｙｉを前記保持部に提供する、構成１記載の計算装置。
【０１７５】
（構成３）  
前記データ群{ｓ}は、ｋ番目のデータｓｋ（ｋは１以上（Ｓ−１）以下の整数、前記Ｓは２以上の整数）を含み、
前記第２関数は、少なくとも１つの更新パラメータを含み、
前記更新パラメータを前記データｓｋに応じて変化する、構成１または２に記載の計算装置。
【０１７６】
（構成４）  
前記データ群{ｓ}は、ｋ番目のデータｓｋ（ｋは１以上（Ｓ−１）以下の整数）、及び、（ｋ＋１）番目のデータｓｋ＋１を含み、
前記処理部は、前記第２変数更新において、第１更新パラメータを含む前記第２関数を用いて前記第２変数ｙｉをＬ回（Ｌは１以上の整数）更新した後、第２更新パラメータを含む前記第２関数を用いて前記第２変数ｙｉをＬ回更新し、
前記第１更新パラメータは、前記データｓｋに基づき、
前記第２更新パラメータは、前記データｓｋ＋１に基づく、構成１または２に記載の計算装置。
【０１７７】
（構成５）  
前記更新パラメータは、前記データｓｋが基準値よりも大きいときに、前記Ｌ回の更新の間に増加した後に減少し、前記Ｌ回の更新後に前記Ｌ回の更新前の値となり、
前記更新パラメータは、前記データｓｋが基準値よりも小さいときに、前記Ｌ回の更新の間に減少した後に増加し、前記Ｌ回の更新後に前記Ｌ回の更新前の前記値となる、構成４記載の計算装置。
【０１７８】
（構成６）  
前記更新パラメータは、前記データｓｋが基準値よりも大きいときに、前記Ｌ回の更新の間に減少した後に増加し、前記Ｌ回の更新後に前記Ｌ回の更新前の値となり、
前記更新パラメータは、前記データｓｋが基準値よりも小さいときに、前記Ｌ回の更新の間に増加した後に減少し、前記Ｌ回の更新後に前記Ｌ回の更新前の前記値となる、構成４記載の計算装置。
【０１７９】
（構成７）  
前記処理部は、
前記第１更新パラメータを含む前記第２関数を用いた前記Ｌ回の更新後の前記第４関数、及び、前記第２更新パラメータを含む前記第２関数を用いた前記Ｌ回の更新後の前記第４関数を出力可能である、構成４記載の計算装置。
【０１８０】
（構成８）
処理部は、前記更新パラメータによる前記Ｌ回の更新の間に、前記第４関数をＶ回（Ｖは、１以上Ｌ以下の整数）出力可能である、構成７記載の計算装置。
【０１８１】
（構成９）  
処理部は、
前記データｓｋに基づいて設定された第１更新パラメータを用いた前記第２変数更新の少なくとも一部と、
ｌ番目のデータｓｌ（ｌはｋよりも大きく（Ｓ−１）以下の整数）の入力の少なくとも一部と、
を同時に実施する、構成３〜８に記載の計算装置。
【０１８２】
（構成１０）  
前記処理部は、複数の計算部を含み、
前記第１変数更新の一部は、前記複数の計算部の１つで行われ、
前記第１変数更新の別の一部は、前記複数の計算部の別の１つで行われる、構成１〜９のいずれか１つに記載の計算装置。
【０１８３】
（構成１１）  
前記第２変数更新は、第１サブ更新及び第２サブ更新を含み、
前記第１サブ更新は、前記第１サブ更新前の前記ｉ番目の前記第２変数ｙｉに前記第２関数を加えて前記ｉ番目の前記第２変数ｙｉを更新することを含み、
前記第２サブ更新は、前記第２サブ更新前の前記ｉ番目の前記第２変数ｙｉに前記第３関数を加えて前記ｉ番目の前記第２変数ｙｉを更新することを含み、
前記第１変数更新及び前記第１サブ更新を交互にＭ回（Ｍは１以上の整数）行った後、前記第２サブ更新を行う、または、前記第２サブ更新後、前記第１変数更新及び前記第１サブ更新を交互にＭ回行う、構成１〜１０のいずれか１つに記載の計算装置。
【０１８４】
（構成１２）  
前記処理部は、更新後の第１変数群{ｘ}と第２パラメータ群{ｗ}との演算結果群{ｚ}を出力可能である、構成１〜１１のいずれか１つに記載の計算装置。
【０１８５】
（構成１３）  
前記第２関数は、前記第２変数群｛ｙ｝の少なくとも一部を含む項を含み、
前記項は、前記第２変数ｙｉが０のときに０となり、
前記第２変数ｙｉの増加に伴って前記第２関数の値が単調に減少する、構成１〜１２のいずれか１つに記載の計算装置。
【０１８６】
（構成１４）  
コンピュータに、データ群{ｓ}を入手させ、処理手順を繰り返させ、第４関数を出力させる計算プログラムであって、
前記処理手順は第１変数更新及び第２変数更新を含み、
前記第１変数更新は、前記第１変数更新前のｉ番目（ｉは１以上Ｎ以下の整数、前記Ｎは２以上の整数）の第１変数ｘｉに第１関数を加えて前記ｉ番目の前記第１変数ｘｉを更新することを含み、前記ｉ番目の前記第１変数ｘｉは、第１変数群｛ｘ｝の１つであり、前記第１関数の変数は、第２変数群｛ｙ｝の少なくとも一部を含み、
前記第２変数更新は、前記第２変数更新前のｉ番目の第２変数ｙｉに第２関数及び第３関数を加えて前記ｉ番目の前記第２変数ｙｉを更新することを含み、前記ｉ番目の前記第２変数ｙｉは、前記第２変数群｛ｙ｝の１つであり、前記第２関数の変数は、前記ｉ番目の第１変数ｘｉ、及び、前記データ群{ｓ}の少なくとも一部を含み、前記第３関数の変数は、前記第１変数群｛ｘ｝の少なくとも一部、及び、第１パラメータ群｛Ｊ｝の少なくとも一部、を含み、
前記第４関数の変数は、前記処理手順を前記繰り返した後に得られる前記第１変数群｛ｘ｝、及び、前記処理手順を前記繰り返した後に得られる前記第２変数群｛ｙ｝の、少なくとも一部を含む、計算プログラム。
【０１８７】
（構成１５）  
コンピュータに、データ群{ｓ}を入手させ、処理手順を繰り返させ、第４関数を出力させる計算プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記処理手順は第１変数更新及び第２変数更新を含み、
前記第１変数更新は、前記第１変数更新前のｉ番目（ｉは１以上Ｎ以下の整数、前記Ｎは２以上の整数）の第１変数ｘｉに第１関数を加えて前記ｉ番目の前記第１変数ｘｉを更新することを含み、前記ｉ番目の前記第１変数ｘｉは、第１変数群｛ｘ｝の１つであり、前記第１関数の変数は、第２変数群｛ｙ｝の少なくとも一部を含み、
前記第２変数更新は、前記第２変数更新前のｉ番目の第２変数ｙｉに第２関数及び第３関数を加えて前記ｉ番目の前記第２変数ｙｉを更新することを含み、前記ｉ番目の前記第２変数ｙｉは、前記第２変数群｛ｙ｝の１つであり、前記第２関数の変数は、前記ｉ番目の第１変数ｘｉ、及び、前記データ群{ｓ}の少なくとも一部を含み、前記第３関数の変数は、前記第１変数群｛ｘ｝の少なくとも一部、及び、第１パラメータ群｛Ｊ｝の少なくとも一部、を含み、
前記第４関数の変数は、前記処理手順を前記繰り返した後に得られる前記第１変数群｛ｘ｝、及び、前記処理手順を前記繰り返した後に得られる前記第２変数群｛ｙ｝の、少なくとも一部を含む、記録媒体。
【０１８８】
（構成１６）  
データ群{ｓ}を入手し、
処理手順を繰り返し、
第４関数を出力し、
前記処理手順は第１変数更新及び第２変数更新を含み、
前記第１変数更新は、前記第１変数更新前のｉ番目（ｉは１以上Ｎ以下の整数、前記Ｎは２以上の整数）の第１変数ｘｉに第１関数を加えて前記ｉ番目の前記第１変数ｘｉを更新することを含み、前記ｉ番目の前記第１変数ｘｉは、第１変数群｛ｘ｝の１つであり、前記第１関数の変数は、第２変数群｛ｙ｝の少なくとも一部を含み、
前記第２変数更新は、前記第２変数更新前のｉ番目の第２変数ｙｉに第２関数及び第３関数を加えて前記ｉ番目の前記第２変数ｙｉを更新することを含み、前記ｉ番目の前記第２変数ｙｉは、前記第２変数群｛ｙ｝の１つであり、前記第２関数の変数は、前記ｉ番目の第１変数ｘｉ、及び、前記データ群{ｓ}の少なくとも一部を含み、前記第３関数の変数は、前記第１変数群｛ｘ｝の少なくとも一部、及び、第１パラメータ群｛Ｊ｝の少なくとも一部、を含み、
前記第４関数の変数は、前記処理手順を前記繰り返した後に得られる前記第１変数群｛ｘ｝、及び、前記処理手順を前記繰り返した後に得られる前記第２変数群｛ｙ｝の、少なくとも一部を含む、計算方法。
【０１８９】
実施形態によれば、計算能力を向上できる計算装置、計算プログラム、記録媒体及び計算方法が提供できる。
【０１９０】
以上、例を参照しつつ、本発明の実施の形態について説明した。しかし、本発明は、これらの例に限定されるものではない。例えば、計算装置に含まれる処理部、取得部、出力部及び保持部などの各要素の具体的な構成に関しては、当業者が公知の範囲から適宜選択することにより本発明を同様に実施し、同様の効果を得ることができる限り、本発明の範囲に包含される。
【０１９１】
各例のいずれか２つ以上の要素を技術的に可能な範囲で組み合わせたものも、本発明の要旨を包含する限り本発明の範囲に含まれる。
【０１９２】
本発明の実施の形態として上述した計算装置、計算プログラム、記録媒体及び計算方法を基にして、当業者が適宜設計変更して実施し得る全ての計算装置、計算プログラム、記録媒体及び計算方法も、本発明の要旨を包含する限り、本発明の範囲に属する。
【０１９３】
本発明の思想の範疇において、当業者であれば、各種の変更例及び修正例に想到し得るものであり、それら変更例及び修正例についても本発明の範囲に属するものと了解される。
【０１９４】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１９５】
１０…保持部、  １０Ａ〜１０Ｃ…第１〜第３保持領域、  １５Ａ〜１５Ｃ…第１〜第３回路部、  １５Ｘ…制御部、  １６Ａ〜１６Ｃ…第１〜第２制御部、  ２０…処理部、  ２０Ａ〜２０Ｃ…第１〜第３計算部、  ２０ａ〜２０ｃ…計算部、  ３１…取得部、  ３２…出力部、  ３３…操作受付部、  １１０、１１１…計算装置、  ＣＰＣ…パリティ検査能力、  ＣＳＴＭ…短期記憶能力、  ＲＥ１、ＲＳ１〜ＲＳ３…結果
【図１】
2020046715.tif 000014
【図２】
2020046715.tif 000015
【図３】
2020046715.tif 000016
【図４】
2020046715.tif 000017
【図５】
2020046715.tif 000018
【図６】
2020046715.tif 000019
【図７】
2020046715.tif 000020
【図８】
2020046715.tif 000021
【図９】
2020046715.tif 000022
【図１０】
2020046715.tif 000023
【図１１】
2020046715.tif 000024
【図１２】
2020046715.tif 000025
【図１３】
2020046715.tif 000026
【図１４】
2020046715.tif 000027
【図１５】
2020046715.tif 000028