(57)【要約】【課題】自由確率という最新の確率論をプログラミング言語により処理することができる情報処理装置、情報処理方法及び情報処理プログラムを提供すること。【解決手段】情報処理装置１０は、ランダム行列処理部１４と、モナド変換処理部１５と、演算処理部１７と、を有する。ランダム行列処理部１４は、所定の自由確率を示す行列をランダム行列で表現する。モナド変換処理部１５は、ランダム行列を、対応するモナドに変換する。演算処理部１７は、モナド変換処理部１５により変換されたモナドを用いて、自由確率に関する演算を行う。【選択図】図２
2020135156.tif 000002
【特許請求の範囲】
【請求項１】
所定の自由確率を示す行列をランダム行列で表現するランダム行列処理部と、
前記ランダム行列を、対応するモナドに変換するモナド変換処理部と、
前記モナド変換処理部により変換されたモナドを用いて、前記自由確率に関する演算を行う演算処理部と、
を有することを特徴とする情報処理装置。
【請求項２】
前記モナド変換処理部により変換されたモナドの性質に基づいて、前記モナドを簡略化処理するモナド簡略化処理部と、
をさらに有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記モナド変換処理部は、前記モナドの関手を生成することで、前記ランダム行列を変換し、
前記モナド簡略化処理部は、前記モナドの関手を圧縮することで、前記モナドを簡略化処理する、
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記自由確率を示す行列を表現した前記ランダム行列に対応するモナドをモデルに学習させることで、前記モデルが前記自由確率における自由性を扱うことを可能にする学習処理部と、
をさらに有することを特徴とする請求項１から請求項３のいずれか１項に記載の情報処理装置。
【請求項５】
前記自由確率の処理を、前記モナドの関手の変換機能の性質を活用してプログラム言語の型変換機能として取り込むことを特徴とする請求項１から請求項４のいずれか１項に記載の情報処理装置。
【請求項６】
所定の自由確率を示す行列をランダム行列で表現するランダム行列処理ステップと、
前記ランダム行列を、対応するモナドに変換するモナド変換処理ステップと、
前記モナド変換処理ステップで変換されたモナドを用いて、前記自由確率に関する演算を行う演算処理ステップと、
を有することを特徴とする情報処理方法。
【請求項７】
コンピュータに、
所定の自由確率を示す行列をランダム行列で表現するランダム行列処理手順と、
前記ランダム行列を、対応するモナドに変換するモナド変換処理手順と、
前記モナド変換処理手順で変換されたモナドを用いて、前記自由確率に関する演算を行う演算処理手順と、
を実行させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及び情報処理プログラムに関する。
【背景技術】
【０００２】
従来、様々なプログラミング言語の処理方法が知られている。例えば、ソースプログラムの検証コードの書き忘れや検証コード自体の間違いをなくすために、ソースコードとは別の検証コードのみのファイルを用意する等の技術が知られている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２６６９０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１には、自由確率という最新の確率論をプログラミング言語により処理することについては、記載も示唆もされていない。このため、特許文献１に記載の方法では、特に、自由確率という最新の確率論をプログラミング言語により処理することができないという問題があった。
【０００５】
本発明は、上記に鑑みてなされたものであって、自由確率という最新の確率論をプログラミング言語により処理することができる情報処理装置、情報処理方法及び情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、情報処理装置は、所定の自由確率を示す行列をランダム行列で表現するランダム行列処理部と、前記ランダム行列を、対応するモナドに変換するモナド変換処理部と、前記モナド変換処理部により変換されたモナドを用いて、前記自由確率に関する演算を行う演算処理部と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、自由確率という最新の確率論をプログラミング言語により処理することができる情報処理装置、情報処理方法及び情報処理プログラムを提供することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態に係る情報処理装置の一例を説明する説明図である。
【図２】図２は、図１の情報処理装置の制御ブロック図である。
【図３】図３は、図１の情報処理装置が取り扱う自由確率を表現する自由群を説明する説明図である。
【図４】図４は、図１の情報処理装置が取り扱う自由確率とランダム行列との関係性を説明する説明図である。
【図５】図５は、図１の情報処理装置が取り扱う自由確率のグラフ理論への適用性を説明する説明図である。
【図６】図６は、図１の情報処理装置で採用するモナドを説明する説明図である。
【図７】図７は、実施形態に係る情報処理方法のフローチャートである。
【図８】図８は、実施形態に係る情報処理方法を説明する説明図である。
【図９】図９は、情報処理装置が自由確率の処理をモナドの関手の変換機能の性質を活用してプログラム言語の型変換機能として取り込む処理の第１例を説明する説明図である。
【図１０】図１０は、情報処理装置が自由確率の処理をモナドの関手の変換機能の性質を活用してプログラム言語の型変換機能として取り込む処理の第２例を説明する説明図である。
【図１１】図１１は、情報処理装置が自由確率の処理をモナドの関手の変換機能の性質を活用してプログラム言語の型変換機能として取り込む処理の第３例を説明する説明図である。
【図１２】図１２は、情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【０００９】
以下に、本発明に係る実施形態を図面に基づいて詳細に説明する。なお、この実施形態によりこの発明が限定されるものではない。また、実施形態における構成要素には、当業者が置換可能かつ容易なもの、あるいは実質的に同一のものが含まれる。さらに、以下に記載した構成要素は適宜組み合わせることが可能である。
【００１０】
〔１．情報処理装置１０の一例〕
図１は、実施形態に係る情報処理装置１０の一例を説明する説明図である。実施形態に係る情報処理装置の一例である情報処理装置１０は、図１に示すように、入力装置２１によって入力された入力情報２５に対して、自由確率に関する演算処理を実行して、得られた出力情報２６を出力装置２２に出力する。
【００１１】
情報処理装置１０は、図１に示すように、所定の自由確率を示す行列をランダム行列３１で表現し、このランダム行列３１を、対応するモナド３２に変換し（後述するモナド変換処理ステップＳ１２）、このモナド３２を用いて、自由確率に関する演算処理を実行する。情報処理装置１０は、さらに、モナド３２の性質に基づいて、自由確率を表現したこのランダム行列３１を簡略化処理して（後述するモナド簡略化処理ステップＳ１３）得られる簡略化行列３３を用いて、自由確率に関する演算処理を実行することが好ましい。なお、自由確率、ランダム行列３１、モナド３２、簡略化行列３３等の詳細については、後述する。
【００１２】
〔２．情報処理システム１の一例〕
情報処理システム１は、図１に示すように、情報処理装置１０と、入力装置２１と、出力装置２２と、を含んで構成される。情報処理システム１では、情報処理装置１０と入力装置２１及び出力装置２２とは、有線または無線により情報通信可能に接続される。なお、情報処理システム１は、図１に示す装置等を含む構成に限定されず、その他の装置や端末を含んでもよく、通信ネットワーク等を介して互いに情報通信可能に接続されていてもよい。
【００１３】
入力装置２１は、高機能携帯電話（いわゆる、スマートフォン）を含む携帯電話機、タブレット端末、ノート型またはデスクトップ型のＰＣ（Personal  Computer）、携帯情報端末であるＰＤＡ（Personal  Digital  Assistant）、及び、眼鏡型や時計型のウェアラブルデバイス（Wearable  Device）等に例示される情報処理端末である。
【００１４】
入力装置２１は、情報処理装置１０が実行する自由確率に関する演算処理に対する入力情報２５を入力するための機能、例えば、情報処理装置１０からの入力情報２５の入力を受け付けるための入力画面等を入力装置２１の表示部に表示する機能、及び、入力を受け付けた入力情報２５を情報処理装置１０に送信する機能を有する。入力装置２１は、これらの様々な機能を、情報処理装置１０を利用するためのソフトウェアまたはアプリケーションを実行したり、情報処理装置１０を利用するためのインターネットブラウザ機能を実行したりすることで、実現する。
【００１５】
出力装置２２は、受信した情報に基づいて、文字、画像、動画等により表示する。出力装置２２は、情報処理装置１０が実行する自由確率に関する演算処理の結果として得られる出力情報２６を出力するための機能、例えば、情報処理装置１０から出力された出力情報２６を受信する機能、及び、出力情報２６に基づく出力画面等を出力装置２２の表示部に表示する機能を有する。出力装置２２は、これらの様々な機能を、情報処理装置１０を利用するためのソフトウェアまたはアプリケーションを実行したり、情報処理装置１０を利用するためのインターネットブラウザ機能を実行したりすることで、実現する。
【００１６】
なお、情報処理システム１は、本実施形態では、入力装置２１と出力装置２２とを別々に設けたが、本発明はこれに限定されず、入力装置２１と出力装置２２とが一体化された形態であってもよい。この場合、入力装置２１の表示部が出力装置２２として機能する。
【００１７】
入力情報２５は、自由確率に関する演算処理における初期条件や環境条件等の情報であり、出力情報２６は、入力情報２５に基づく条件下で、自由確率に関する演算処理によって得られた最終結果等の情報である。
【００１８】
〔３．情報処理装置１０の構成〕
図２は、図１の情報処理装置１０の制御ブロック図である。情報処理装置１０は、図２に示すように、処理部１１と、記憶部１２と、情報通信インターフェイス１３と、を有する。
【００１９】
（処理部１１について）
処理部１１は、コントローラ（controller）であり、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等によって、情報処理装置１０内部の記憶装置である記憶部１２に記憶されている各種プログラム（情報処理プログラムの一例に相当）がＲＡＭ（Random  Access  Memory）を作業領域として実行されることにより実現される。また、処理部１１は、例えば、コントローラであり、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現される。処理部１１は、入力装置２１から入力情報２５の入力を受け付けたり、出力装置２２に出力情報２６の出力を行ったりする情報通信インターフェイス１３が接続されている。
【００２０】
処理部１１は、図２に示すように、記憶部１２及び情報通信インターフェイス１３と、互いに情報通信可能に電気的に接続されており、これらの各構成要素をそれぞれ制御する制御部として機能する。すなわち、処理部１１は、記憶部１２とともに、制御部として機能して、本発明の実施形態に係る情報処理方法を情報処理装置１０に実行させるものである。
【００２１】
処理部１１は、図２に示すように、ランダム行列処理部１４と、モナド変換処理部１５と、モナド簡略化処理部１６と、演算処理部１７と、学習処理部１８と、を有する。処理部１１に含まれる各部、すなわち、ランダム行列処理部１４、モナド変換処理部１５、モナド簡略化処理部１６、演算処理部１７及び学習処理部１８は、いずれも、処理部１１が情報処理プログラムを実行することにより、実現される機能部である。なお、ランダム行列処理部１４、モナド変換処理部１５、モナド簡略化処理部１６、演算処理部１７及び学習処理部１８の具体的な機能については、後述する。
【００２２】
（記憶部１２について）
記憶部１２は、例えば、ＲＯＭ（Read  Only  Memory）、ＲＡＭ（Random  Access  Memory)、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部１２は、入力された入力情報２５に対して自由確率に関する演算処理を実行して出力情報２６を得るための演算処理に関するモデル１９を記憶して保存する。
【００２３】
記憶部１２は、処理部１１に含まれる各部、すなわち、ランダム行列処理部１４、モナド変換処理部１５、モナド簡略化処理部１６、演算処理部１７及び学習処理部１８による処理によって生成された種々の情報を、記憶して保存する。
【００２４】
（情報通信インターフェイス１３について）
情報通信インターフェイス１３は、処理部１１と入力装置２１及び出力装置２２とを有線または無線で互いに情報通信可能に接続している。情報通信インターフェイス１３は、入力情報２５を入力装置２１から受信して処理部１１に送信する。また、情報通信インターフェイス１３は、処理部１１で生成される各情報、例えば、入力情報２５に基づいて得られた出力情報２６を処理部１１から受信し、出力装置２２等に向けて送信する。
【００２５】
なお、本実施形態では、情報処理装置１０は、本発明の実施形態に係る情報処理方法を実行する際に使用する入力情報２５を入力装置２１から受信することで取得する形態について説明しているが、本発明はこれに限定されることなく、情報通信インターフェイス１３に有線または無線で互いに情報通信可能に接続したその他の外部記憶装置から取得する形態も、予め記憶部１２に記憶させておいて記憶部１２から取得する形態も、好適に採用することができる。
【００２６】
図３は、図１の情報処理装置１０が取り扱う自由確率を表現する自由群を説明する説明図である。図４は、図１の情報処理装置１０が取り扱う自由確率とランダム行列との関係性を説明する説明図である。図５は、図１の情報処理装置１０が取り扱う自由確率のグラフ理論への適用性を説明する説明図である。以下において、図３、図４及び図５を用いて、本実施形態に係る自由確率、ランダム行列及びモナドについて、その詳細を説明するとともに、処理部１１に含まれる各部の具体的な機能について説明する。
【００２７】
（自由確率について）
自由確率論は、群や代数の自由積と相性の良い非可換の確率論であることから、このように呼ばれており、作用素環の自由積、特に自由群環を研究する道具として好ましく、また、様々な物理学、統計学、経済学等の種々の学問上で扱われるベクトル量又はスカラー量等を表現することに好ましい理論体系である。自由確率論については、非特許文献１「確率論のパラレルワールド―  自由確率論；https://www.jstage.jst.go.jp/article/emath1996/2002/Spring-Meeting/2002_Spring-Meeting_38/_pdf/-char/ja」や非特許文献２「自由確率論での無限分解可能性；http://www.kurims.kyoto-u.ac.jp/~kyodo/kokyuroku/contents/pdf/1855-25.pdf」等に記載されているような様々な考え方や取り扱い方を好適に活用することが好ましい。
【００２８】
自由確率論に基づく演算空間である自由群は、具体的には、図３に示すように、要素ｉ（ただし、ｉ＝１，２，・・・，Ｎ（自然数）。）に関する生成作用素ｇｉと、要素ｉに関する消滅作用素ｇｉ−１とを用いて、言語をｇｉやｇｉ−１等の積で表現し、言語の無い状態を示す空語をｇｉ−１ｇｉ＝ｇｉｇｉ−１＝ｅ（ただし、ｅは真空状態。）で表現することができる。なお、本明細書では、自由確率論に基づく演算空間である自由群を、適宜、自由確率と称している。
【００２９】
（ランダム行列について）
ランダム行列は、行列要素がなんらかの確率法則あるいは確率分布に従う確率変数（乱数）として与えられると仮定する行列モデルである。ランダム行列Ｓは、具体的には、図４に示すように、測度論的確率論である古典確率論における確率空間（Ω，Ｆ，Ｐ）（ただし、Ωは標本空間、Ｆは事象の集合、Ｐは確率測度）において、Ｎ×Ｎ複素行列全体のなす対合環ＭＮ（Ｃ）（ただし、Ｃは複素数空間）に値を取り、なおかつ、Ωから対合環ＭＮ（Ｃ）への写像である可測関数Ｓとして表現される。ここで、対合環は、＊環と記載されることもあり、環構造と両立する対合（共軛演算、随伴）を備える代数系である。
【００３０】
ランダム行列Ｓの各要素Ｓｉｊは、古典確率変数である。このため、このランダム行列Ｓは、全体として、自由確率論における確率空間（Ａ，φ）（ただし、Ａは作用素環、対合環及び確率変数等、φは状態、線形演算子及び期待値等）における自由確率変数となっている。なお、自由確率論における確率空間は、代数的確率空間であり、非可換確率空間である。
【００３１】
このように、ランダム行列は、全体として自由確率変数になっているので、自由確率論に基づく演算空間である自由群である自由確率を好適に表現することができる。ランダム行列処理部１４は、このランダム行列と自由確率との関係性を活用して、所定の自由確率を示す行列をランダム行列３１で表現する。なお、所定の自由確率は、情報処理装置１０の処理部１１で演算処理したい所定の条件下におけるベクトル量又はスカラー量等に基づいて、適宜決定される。所定の自由確率は、例えば、情報処理装置１０の処理部１１により、入力情報２５に基づいて決定してもよい。
【００３２】
（グラフ理論への適用性について）
グラフ理論は、ノードの集合とエッジの集合で構成されるグラフに関する数学の理論である。グラフ理論への適用性は、具体的には、図５に示すように、ノードの集合Ｖに基づいて、集合Ｖと集合Ｖの２点集合とからなるエッジの集合Ｅの組Ｇ＝（Ｖ，Ｅ）（ただし、集合Ｅの要素は、集合Ｖに属する互いに異なる要素ｘ及びｙである）に応用できることによって、論理的に支持されている。なお、グラフ理論に基づいて、グラフを量子分解することも可能である。
【００３３】
（モナドについて）
モナドは、図６に示すように、関手Ｔと２種類の自然変換η，μの三つ組である。関手Ｔは、複素圏Ｃから複素圏Ｃへの写像である。自然変換ηは、単位元であり、恒等写像ｉｄから関手Ｔへの写像である。自然変換μは、乗法であり、２重の関手Ｔから単体の関手Ｔへの写像である。このため、自然変換ηは、関手Ｔの生成作用素となっており、自然変換μは、関手Ｔの消滅作用素となっている。すなわち、モナドは、関手Ｔに関する自由群となっている。
【００３４】
発明者らは、鋭意検討の結果、モナドが関手Ｔに関する自由群となっているという対応関係に着目して、自由確率をモナドに変換することで、自由確率における自由性や自由確率に関するメカニズムをモナドによってプログラム言語化が可能であることを見出し、自由確率に関する演算を実行することが可能な情報処理装置１０を含む情報処理装置、情報処理方法及び情報処理プログラムという本願発明に至った。
【００３５】
このように、モナドは、関手Ｔに関する自由群となっているので、自由確率を好適に表現することができる。モナド変換処理部１５は、上記したランダム行列と自由確率との関係性に加えて、このモナドが自由群となっているということを活用して、自由確率を表現したランダム行列３１を、ランダム行列３１を構成する生成作用素ｇｉ及び消滅作用素ｇｉ−１にそれぞれ対応する関手Ｔに変換することで、対応するモナド３２に変換する。モナド３２を表す行列Ｔの各要素Ｔｉｊは、自由確率変数である。モナド変換処理部１５は、具体的には、モナド３２の性質に基づいて、自然変換ηを活用してモナド３２の関手Ｔを生成することで、自由確率を表現したランダム行列３１をモナド３２に変換することが好ましい。
【００３６】
モナド変換処理部１５は、純粋関数型プログラミング言語であるハスケル（Haskell）を用いて、追って説明する演算処理部１７が演算処理を可能な形、かつ、追って説明する学習処理部１８がモデル１９に学習させることが可能な形で、ランダム行列３１に基づいて変換されるモナド３２を記述することが好ましい。
【００３７】
モナド簡略化処理部１６は、モナド変換処理部１５により変換されたモナド３２の性質に基づいて、モナド３２を簡略化処理することで、モナド３２を簡略化した簡略化行列３３を取得する。簡略化行列３３を表す行列Ｕの各要素Ｕｉｊは、自由確率変数である。モナド簡略化処理部１６は、具体的には、モナド３２の性質に基づいて、自然変換μを活用してモナド３２の関手Ｔを圧縮することで、モナド３２を簡略化処理することが好ましい。
【００３８】
モナド簡略化処理部１６は、モナド変換処理部１５によってハスケルを用いてモナド３２を記述している場合、ハスケルによる言語処理を実行することで、自然変換μを活用してモナド３２の関手Ｔを好適に圧縮することができる。
【００３９】
演算処理部１７は、モナド変換処理部１５により変換されたモナド３２、または、モナド簡略化処理部１６によりモナド３２を簡略化処理した簡略化行列３３を用いて、入力情報２５に対して自由確率に関する演算処理を実行して出力情報２６を得る。演算処理部１７は、追って説明する学習処理部１８がモナド３２または簡略化行列３３をモデル１９に学習させている場合、モナド３２または簡略化行列３３を学習したモデル１９を使用して、同様の自由確率に関する演算処理を実行することができる。
【００４０】
なお、演算処理部１７が、モナド簡略化処理部１６によりモナド３２を簡略化処理した簡略化行列３３を用いて自由確率に関する演算処理を実行すること、及び、モナド３２または簡略化行列３３を学習したモデル１９を使用して自由確率に関する演算処理を実行することは、いずれも、間接的に、モナド変換処理部１５により変換されたモナド３２を用いているので、モナド変換処理部１５により変換されたモナド３２を用いて自由確率に関する演算処理を実行することに含まれる。
【００４１】
学習処理部１８は、モナド変換処理部１５により変換されたモナド３２、または、モナド簡略化処理部１６によりモナド３２を簡略化処理した簡略化行列３３をモデル１９に学習させることで、モデル１９が、自由確率における自由性や自由確率に関するメカニズムを扱うこと、すなわち、自由確率に関する演算処理を担うことを可能にする。
【００４２】
（モデル１９について）
モデル１９は、自由確率に関する演算処理における初期条件や環境条件等の情報である入力情報２５に基づいて、自由確率に関する演算処理を実行して、最終結果等の情報である出力情報２６を取得する演算処理に関する分類機である。モデル１９は、学習処理部１８によって、モナド変換処理部１５により変換されたモナド３２、または、モナド簡略化処理部１６によりモナド３２を簡略化処理した簡略化行列３３を学習することで、自由確率における自由性や自由確率に関するメカニズムを扱うことが可能となり、自由確率に関する演算処理を担うことが可能となる。
【００４３】
〔４．評価処理の一例〕
本発明の実施形態に係る情報処理装置１０の作用について以下に説明する。図７は、実施形態に係る情報処理方法のフローチャートである。図８は、実施形態に係る情報処理方法を説明する説明図である。情報処理装置１０によって実行される本発明の実施形態に係る情報処理方法について、処理部１１に含まれる各部の具体的な機能と併せて、図７及び図８を用いて説明する。実施形態に係る情報処理方法は、図７に示すように、ランダム行列処理ステップＳ１１と、モナド変換処理ステップＳ１２と、モナド簡略化処理ステップＳ１３と、演算処理ステップＳ１４と、を有する。
【００４４】
実施形態に係る情報処理方法において、処理部１１は、まず、ランダム行列処理ステップＳ１１を実行する前に、実施形態に係る情報処理方法において取り扱う自由確率に関する環境条件を決定する。例えば、処理部１１は、情報通信インターフェイス１３を介して入力装置２１から入力情報２５を受信し、入力情報２５に含まれている自由確率に関する環境条件に基づいて、実施形態に係る情報処理方法において取り扱う自由確率に関する環境条件を決定することができる。また、処理部１１は、記憶部１２に記憶されている自由確率に関する環境条件に基づいて、実施形態に係る情報処理方法において取り扱う自由確率に関する環境条件を決定してもよい。
【００４５】
ランダム行列処理ステップＳ１１は、ランダム行列処理部１４が、実施形態に係る情報処理方法において取り扱う自由確率に関する環境条件に基づいて、所定の自由確率を示す行列をランダム行列３１で表現するステップである。ランダム行列処理ステップＳ１１では、ランダム行列処理部１４が、上記したランダム行列と自由確率との関係性を活用して、所定の自由確率を示す行列をランダム行列３１で表現する。
【００４６】
モナド変換処理ステップＳ１２は、図８の上段から中段にかけて示すように、モナド変換処理部１５が、ランダム行列処理ステップＳ１１で表現したランダム行列３１を、対応するモナド３２に変換するステップである。
【００４７】
モナド変換処理ステップＳ１２では、具体的には、モナド変換処理部１５が、上記したランダム行列と自由確率との関係性に加えて、このモナドが自由群となっているということを活用して、自由確率を表現したランダム行列３１を、ランダム行列３１を構成する生成作用素ｇｉ及び消滅作用素ｇｉ−１にそれぞれ対応する関手Ｔに変換することで、対応するモナド３２に変換する。
【００４８】
モナド変換処理ステップＳ１２では、また、図８の上段から中段にかけて示すように、モナド変換処理部１５が、モナド３２の性質に基づいて、自然変換ηを活用してモナド３２の関手Ｔを生成することで、自由確率を表現したランダム行列３１をモナド３２に変換することが好ましい。
【００４９】
モナド変換処理ステップＳ１２では、また、モナド変換処理部１５が、純粋関数型プログラミング言語であるハスケルを用いて、追って説明する演算処理ステップＳ１４で演算処理部１７が演算処理を可能な形、かつ、追って説明する学習処理ステップで学習処理部１８がモデル１９に学習させることが可能な形で、ランダム行列３１に基づいて変換されるモナド３２を記述することが好ましい。
【００５０】
モナド簡略化処理ステップＳ１３は、図８の中段から下段にかけて示すように、モナド変換処理ステップＳ１２で変換されたモナド３２の性質に基づいて、モナド３２を簡略化処理して簡略化行列３３を取得するステップである。なお、モナド簡略化処理ステップＳ１３は、必ず実行が必要なステップではないが、後述する演算処理ステップＳ１４の実行効率を向上させたり、後述する学習処理ステップの学習効率を向上させたりする。
【００５１】
モナド簡略化処理ステップＳ１３では、具体的には、図８の中段から下段にかけて示すように、モナド簡略化処理部１６が、モナド３２の性質に基づいて、自然変換μを活用してモナド３２の関手Ｔを圧縮することで、モナド３２を簡略化処理することが好ましい。
【００５２】
モナド簡略化処理ステップＳ１３では、また、モナド簡略化処理部１６が、モナド変換処理ステップＳ１２でハスケルを用いてモナド３２を記述している場合、ハスケルによる言語処理を実行することで、自然変換μを活用してモナド３２の関手Ｔを好適に圧縮することができる。
【００５３】
ここで、実施形態に係る情報処理方法において、処理部１１の学習処理部１８は、モナド変換処理ステップＳ１２以降に、モナド変換処理ステップＳ１２で変換されたモナド３２をモデル１９に学習させることで、モデル１９が、自由確率における自由性や自由確率に関するメカニズムを扱うことを可能にする学習処理ステップを実行することができる。
【００５４】
もしくは、上記した学習処理ステップにおいて、処理部１１の学習処理部１８が、モナド簡略化処理ステップＳ１３以降に、モナド簡略化処理ステップＳ１３でモナド３２を簡略化処理した簡略化行列３３をモデル１９に学習させることで、モデル１９が、自由確率における自由性や自由確率に関するメカニズムを扱うことを可能にする形態を採用してもよい。
【００５５】
演算処理ステップＳ１４は、演算処理部１７が、モナド変換処理ステップＳ１２以降に、モナド変換処理ステップＳ１２で変換されたモナド３２を用いて、入力情報２５に含まれている自由確率に関する初期条件に対して自由確率に関する演算処理を実行して出力情報２６を得るステップである。
【００５６】
もしくは、演算処理ステップＳ１４において、演算処理部１７が、モナド簡略化処理ステップＳ１３以降に、モナド簡略化処理ステップＳ１３でモナド３２を簡略化処理した簡略化行列３３を用いて、入力情報２５に含まれている自由確率に関する初期条件に対して自由確率に関する演算処理を実行して出力情報２６を得る形態を採用してもよい。
【００５７】
また、演算処理ステップＳ１４において、先に学習処理部１８が学習ステップを実行してモナド３２または簡略化行列３３をモデル１９に学習させている場合、演算処理部１７が、モナド３２または簡略化行列３３を学習したモデル１９を使用して、入力情報２５に含まれている自由確率に関する初期条件に対して自由確率に関する演算処理を実行して出力情報２６を得る形態を採用してもよい。
【００５８】
実施形態に係る情報処理方法において、処理部１１は、演算処理ステップＳ１４を実行して得た出力情報２６を、情報通信インターフェイス１３を介して出力装置２２に出力することができる。
【００５９】
〔５．プログラム言語の型変換機能としての取り込み処理の具体例〕
本発明の実施形態に係る情報処理装置１０は、上記したような処理を実行することで、自由確率の処理を、モナドの関手の変換機能の性質を活用してプログラム言語の型変換機能として取り込むことができる。以下において、情報処理装置１０が自由確率の処理をモナドの関手の変換機能の性質を活用してプログラム言語の型変換機能として取り込む処理の具体例を説明する。
【００６０】
（プログラム言語の型変換機能としての取り込み処理の第１例について）
図９は、情報処理装置１０が自由確率の処理をモナドの関手の変換機能の性質を活用してプログラム言語の型変換機能として取り込む処理の第１例を説明する説明図である。第１例は、図９に示すように、自由確率の処理を表現するランダム行列３１を、要素ｘを１／３の確率で要素ｙに変換し、要素ｘを２／３の確率で要素ｙ´に変換する第１関手Ｔ１に、要素ｙを１／２の確率で要素ｚに変換し、要素ｙを１／２の確率で要素ｚ´に変換し、要素ｙ´を１の確率で要素ｚ´´に変換する第２関手Ｔ２を掛け合わせてＴ２○Ｔ１としたモナドの形に変換して、このモナドの関手の変換機能の性質を活用してプログラム言語の型変換機能として取り込む処理の例である。
【００６１】
第１例に係る第１関手Ｔ１は、図９に示すように、２つの要素で構成され、第１行列要素が１／３であり、第２行列要素が２／３である。第１例に係る第２関手Ｔ２は、図９に示すように、３つの要素で構成され、第１関手Ｔ１の第１行列要素に作用する第１行列要素及び第２行列要素がともに１／２であり、第１関手Ｔ１の第２行列要素に作用する第３行列要素が１である。
【００６２】
この第１例に係るランダム行列３１を対応するモナド３２を情報処理装置１０によって簡略化処理することで、要素ｘを要素ｚに変換する確率１／６を第１行列要素とし、要素ｘを要素ｚ´に変換する確率１／６を第２行列要素とし、要素ｘを要素ｚ´´に変換する確率２／３を第３行列要素とした図９に示す行列Ｕを簡略化行列３３として取得する。
【００６３】
このように、情報処理装置１０は、プログラム言語の型変換機能として直接取り込むことが困難であった第１例の自由確率の処理を、モナドの関手の変換機能の性質を活用して簡略化することで、プログラム言語の型変換機能として直接取り込むことが可能な行列に変換することにより、自由確率の処理をプログラム言語の型変換機能として取り込むことを可能にしている。
【００６４】
（プログラム言語の型変換機能としての取り込み処理の第２例について）
図１０は、情報処理装置１０が自由確率の処理をモナドの関手の変換機能の性質を活用してプログラム言語の型変換機能として取り込む処理の第２例を説明する説明図である。第２例では、図１０に示すように、自由確率の処理を表現するランダム行列３１を、２×２の１／２倍のスカラー行列で表現される第１関手に、同じく２×２の１／２倍のスカラー行列で表現される第２関手を掛け合わせたモナドの形に変換して、このモナドの関手の変換機能の性質を活用してプログラム言語の型変換機能として取り込む処理の例である。
【００６５】
この第２例に係るランダム行列３１を対応するモナド３２を情報処理装置１０によって簡略化処理することで、４×４の１／４倍のスカラー行列とした簡略化行列３３を取得する。
【００６６】
このように、情報処理装置１０は、プログラム言語の型変換機能として直接取り込むことが困難であった第２例の自由確率の処理を、モナドの関手の変換機能の性質を活用して簡略化することで、プログラム言語の型変換機能として直接取り込むことが可能な行列に変換することにより、自由確率の処理をプログラム言語の型変換機能として取り込むことを可能にしている。
【００６７】
（プログラム言語の型変換機能としての取り込み処理の第３例について）
図１１は、情報処理装置１０が自由確率の処理をモナドの関手の変換機能の性質を活用してプログラム言語の型変換機能として取り込む処理の第３例を説明する説明図である。第３例では、図１１に示すように、自由確率の処理を表現するランダム行列３１を、行列ａで表現される第１関手と、行列ｂで表現される第２関手とを組み合わせたモナドの形に変換して、このモナドの関手の変換機能の性質を活用してプログラム言語の型変換機能として取り込む処理の例である。
【００６８】
第３例の係るモナドは、３つ以上の要素群で構成され、例えば、第１行列要素群が｛ａｂ｝であり、第２行列要素群が３つの行列要素を含む｛ａｂ，ａｂｂ，ａａｂ｝であり、第３行列要素群が２つの行列要素を含む｛ａｂｂ，ａａｂ｝である。
【００６９】
この第３例に係るランダム行列３１を対応するモナド３２を情報処理装置１０によって簡略化処理することで、各行列要素群における群の縛りが外れた形となり、行列要素として、ａｂ，ａｂ，ａｂｂ，ａａｂ，ａｂｂ，ａａｂ等を有する簡略化行列３３を取得する。
【００７０】
このように、情報処理装置１０は、プログラム言語の型変換機能として直接取り込むことが困難であった第３例の自由確率の処理を、モナドの関手の変換機能の性質を活用して簡略化することで、プログラム言語の型変換機能として直接取り込むことが可能な行列に変換することにより、自由確率の処理をプログラム言語の型変換機能として取り込むことを可能にしている。
【００７１】
〔６．ハードウェア構成〕
上述してきた実施形態に係る情報処理装置１０は、例えば図１２に示すような構成のコンピュータ１０００によって実現される。図１２は、情報処理装置１０の機能を実現するコンピュータ１０００の一例を示すハードウェア構成図である。コンピュータ１０００は、ＣＰＵ１１００、ＲＡＭ１２００、ＲＯＭ１３００、ＨＤＤ１４００、通信インターフェイス（Ｉ／Ｆ）１５００、入出力インターフェイス（Ｉ／Ｆ）１６００、及びメディアインターフェイス（Ｉ／Ｆ）１７００を有する。
【００７２】
ＣＰＵ１１００は、ＲＯＭ１３００又はＨＤＤ１４００に記憶されたプログラムに基づいて動作し、各部の制御を行う。ＲＯＭ１３００は、コンピュータ１０００の起動時にＣＰＵ１１００によって実行されるブートプログラムや、コンピュータ１０００のハードウェアに依存するプログラム等を記憶する。
【００７３】
ＨＤＤ１４００は、ＣＰＵ１１００によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を記憶する。通信インターフェイス１５００は、通信網５００を介して他の機器からデータを受信してＣＰＵ１１００へ送り、ＣＰＵ１１００が生成したデータを、通信網５００を介して他の機器へ送信する。
【００７４】
ＣＰＵ１１００は、入出力インターフェイス１６００を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。ＣＰＵ１１００は、入出力インターフェイス１６００を介して、入力装置からデータを取得する。また、ＣＰＵ１１００は、入出力インターフェイス１６００を介して生成したデータを出力装置へ出力する。
【００７５】
メディアインターフェイス１７００は、記録媒体１８００に記憶されたプログラム又はデータを読み取り、ＲＡＭ１２００を介してＣＰＵ１１００に提供する。ＣＰＵ１１００は、かかるプログラムを、メディアインターフェイス１７００を介して記録媒体１８００からＲＡＭ１２００上にロードし、ロードしたプログラムを実行する。記録媒体１８００は、例えばＤＶＤ（Digital  Versatile  Disc）、ＰＤ（Phase  change  rewritable  Disk）等の光学記録媒体、ＭＯ（Magneto-Optical  disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【００７６】
例えば、コンピュータ１０００が実施形態に係る情報処理装置１０として機能する場合、コンピュータ１０００のＣＰＵ１１００は、ＲＡＭ１２００上にロードされたプログラムを実行することにより、処理部１１の機能を実現する。また、ＨＤＤ１４００には、記憶部１２内のデータが記憶される。コンピュータ１０００のＣＰＵ１１００は、これらのプログラムを記録媒体１８００から読み取って実行するが、他の例として、他の装置から通信網５００を介してこれらのプログラムを取得してもよい。
【００７７】
〔７．その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【００７８】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図２に示した記憶部１２に記憶される情報は、情報通信インターフェイス１３等のネットワークを介して、外部に備えられた所定の記憶装置に記憶されてもよい。
【００７９】
また、上記実施形態では、情報処理装置１０が、例えば、所定の自由確率を示す行列をランダム行列３１で表現するランダム行列処理ステップＳ１１と、ランダム行列処理ステップＳ１１で表現したランダム行列３１を、対応するモナド３２に変換するモナド変換処理ステップＳ１２と、モナド変換処理ステップＳ１２で変換されたモナド３２の性質に基づいて、モナド３２を簡略化処理して簡略化行列３３を取得するモナド簡略化処理ステップＳ１３と、モナド変換処理ステップＳ１２で変換されたモナド３２またはモナド簡略化処理ステップＳ１３で簡略化された簡略化行列３３を用いて、自由確率に関する演算処理を実行する演算処理ステップＳ１４と、を行う例を示した。しかし、上述した情報処理装置１０は、ランダム行列処理ステップＳ１１を行うランダム行列処理装置と、モナド変換処理ステップＳ１２を行うモナド変換処理装置と、モナド簡略化処理ステップＳ１３を行うモナド簡略化処理装置と、演算処理ステップＳ１４を行う演算処理装置とに分離されてもよい。そして、上記の情報処理装置１０による処理は、ランダム行列処理装置と、モナド変換処理装置と、モナド簡略化処理装置と、演算処理装置との各装置を有する情報処理システムによって実現される。
【００８０】
また、上述した学習内容は、あくまで一例であり、情報処理装置１０は、任意の態様でモデル１９の学習を行ってよい。すなわち、どのような態様でモデル１９にモナド３２または簡略化行列３３を学習させるかについては、任意の態様が採用可能である。例えば、情報処理装置１０は、学習時においては、自由確率に関する環境条件とモナド３２または簡略化行列３３とを組合せて記憶する形でモデル１９を学習してもよいし、自由確率に関する環境条件に基づいて最短時間及び最小処理使用容量でモナド３２または簡略化行列３３を導出する経路を記憶する形でモデル１９を学習してもよい。
【００８１】
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【００８２】
〔８．効果〕
上述してきたように、実施形態に係る情報処理装置１０は、ランダム行列処理部１４と、モナド変換処理部１５と、演算処理部１７と、を有する。ランダム行列処理部１４は、所定の自由確率を示す行列をランダム行列３１で表現する。モナド変換処理部１５は、ランダム行列３１を、対応するモナド３２に変換する。演算処理部１７は、モナド変換処理部１５により変換されたモナド３２を用いて、自由確率に関する演算を行う。
【００８３】
このように、実施形態に係る情報処理装置１０は、上記したランダム行列と自由確率との関係性に加えて、モナドが関手Ｔに関する自由群となっているという対応関係に着目して、自由確率をモナド３２に変換することで、自由確率における自由性や自由確率に関するメカニズムをモナド３２によってプログラム言語化して処理することができる。このため、実施形態に係る情報処理装置１０は、自由確率という最新の確率論をプログラミング言語により処理することができる。
【００８４】
また、実施形態に係る情報処理装置１０は、モナド変換処理部１５により変換されたモナド３２の性質に基づいて、モナド３２を簡略化処理するモナド簡略化処理部１６と、をさらに有する。
【００８５】
このように、実施形態に係る情報処理装置１０は、モナド３２を簡略化処理して簡略化行列３３を取得するので、演算処理部１７による自由確率に関する演算効率を向上させたり、学習処理部１８によるモデル１９の自由確率に関する学習効率を向上させたりする。
【００８６】
また、モナド変換処理部１５は、モナド３２の関手Ｔを生成することで、ランダム行列３１を変換し、モナド簡略化処理部１６は、モナド３２の関手Ｔを圧縮することで、モナド３２を簡略化処理する。
【００８７】
このように、実施形態に係る情報処理装置１０は、モナド３２の関手Ｔの生成及び圧縮により、ランダム行列３１を好適にモナド３２に変換し、モナド３２を好適に簡略化処理することができる。この結果として、実施形態に係る情報処理装置１０は、演算処理部１７による自由確率に関する演算効率を向上させたり、学習処理部１８によるモデル１９の自由確率に関する学習効率を向上させたりする。
【００８８】
また、実施形態に係る情報処理装置１０は、自由確率を示す行列を表現したランダム行列３１に対応するモナド３２をモデル１９に学習させることで、モデル１９が自由確率における自由性を扱うことを可能にする学習処理部１８と、をさらに有する。
【００８９】
このように、実施形態に係る情報処理装置１０は、モデル１９が自由確率における自由性を扱うことを可能にするので、結果として、モデル１９が柔軟に多種多様な自由確率を扱う汎用性の高いものとすることができる。
【００９０】
また、実施形態に係る情報処理装置１０は、自由確率の処理を、モナド３２の性質を活用してプログラム言語の型変換機能として取り込む。
【００９１】
このように、実施形態に係る情報処理装置１０は、自由確率の処理を、モナド３２の性質を活用してプログラム言語の型変換機能として取り込むことができるので、プログラム言語の型変換機能に係る処理を実行することで、自由確率の処理を実行することができる。
【００９２】
また、実施形態に係る情報処理方法は、ランダム行列処理ステップＳ１１と、モナド変換処理ステップＳ１２と、演算処理ステップＳ１４と、を有する。ランダム行列処理ステップＳ１１は、所定の自由確率を示す行列をランダム行列３１で表現するステップである。モナド変換処理ステップＳ１２は、ランダム行列３１を、対応するモナド３２に変換するステップである。演算処理ステップＳ１４は、モナド変換処理ステップＳ１２で変換されたモナド３２を用いて、自由確率に関する演算を行うステップである。
【００９３】
このように、実施形態に係る情報処理方法は、上記したランダム行列と自由確率との関係性に加えて、モナドが関手Ｔに関する自由群となっているという対応関係に着目して、自由確率をモナド３２に変換することで、自由確率における自由性や自由確率に関するメカニズムをモナド３２によってプログラム言語化して処理することができる。このため、実施形態に係る情報処理方法は、自由確率という最新の確率論をプログラミング言語により処理することができる。
【００９４】
また、実施形態に係る情報処理プログラムは、コンピュータ１０００に、ランダム行列処理手順と、モナド変換処理手順と、演算処理手順と、を実行させるためのものである。ランダム行列処理手順は、所定の自由確率を示す行列をランダム行列３１で表現する手順である。モナド変換処理手順は、ランダム行列３１を、対応するモナド３２に変換する手順である。演算処理手順は、モナド変換処理手順で変換されたモナド３２を用いて、自由確率に関する演算を行う手順である。
【００９５】
このように、実施形態に係る情報処理プログラムは、コンピュータ１０００に、上記したランダム行列と自由確率との関係性に加えて、モナドが関手Ｔに関する自由群となっているという対応関係に着目して、自由確率をモナド３２に変換させることで、自由確率における自由性や自由確率に関するメカニズムをモナド３２によってプログラム言語化させて処理させることができる。このため、実施形態に係る情報処理プログラムは、コンピュータ１０００に、自由確率という最新の確率論をプログラミング言語により処理させることができる。
【００９６】
以上、本願の実施形態を図面に基づいて詳細に説明したが、これは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【００９７】
また、上述してきた「部（section、module、unit）」は、「手段」や「回路」などに読み替えることができる。例えば、処理部は、処理手段や処理回路に読み替えることができる。
【符号の説明】
【００９８】
１  情報処理システム
１０  情報処理装置
１１  処理部
１２  記憶部
１３  情報通信インターフェイス
１４  ランダム行列処理部
１５  モナド変換処理部
１６  モナド簡略化処理部
１７  演算処理部
１８  学習処理部
１９  モデル
２１  入力装置
２２  出力装置
２５  入力情報
２６  出力情報
３１  ランダム行列
３２  モナド
３３  簡略化行列
【図１】
2020135156.tif 000003
【図２】
2020135156.tif 000004
【図３】
2020135156.tif 000005
【図４】
2020135156.tif 000006
【図５】
2020135156.tif 000007
【図６】
2020135156.tif 000008
【図７】
2020135156.tif 000009
【図８】
2020135156.tif 000010
【図９】
2020135156.tif 000011
【図１０】
2020135156.tif 000012
【図１１】
2020135156.tif 000013
【図１２】
2020135156.tif 000014