(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-15
(45)【発行日】2024-10-23
(54)【発明の名称】変換方法、変換装置、受信装置及び送信装置
(51)【国際特許分類】
G06N 99/00 20190101AFI20241016BHJP
H03M 13/37 20060101ALI20241016BHJP
【FI】
G06N99/00 180
H03M13/37
(21)【出願番号】P 2021561218
(86)(22)【出願日】2020-10-21
(86)【国際出願番号】 JP2020039476
(87)【国際公開番号】W WO2021106432
(87)【国際公開日】2021-06-03
【審査請求日】2023-09-19
(31)【優先権主張番号】P 2019216872
(32)【優先日】2019-11-29
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】井手 直紀
(72)【発明者】
【氏名】上野 比呂至
(72)【発明者】
【氏名】浅山 徹哉
【審査官】千葉 久博
(56)【参考文献】
【文献】寺田晃太朗, 外5名,“20KスピンCMOSアニーリングマシンを対象とした完全結合イジングモデルマッピング手法と評価”,DAシンポジウム2017論文集,日本,情報処理学会,2017年08月23日,2017巻,p.163-168
【文献】KIM, Minsung, 外2名,"Leveraging Quantum Annealing for Large MIMO Processing in Centralized Radio Access Networks",SIGCOMM '19: Proceedings of the ACM Special Interest Group on Data Communication, ACM,2019年08月19日,p.241-255,[検索日 2024.06.06], インターネット:<URL:https://dl.acm.org/doi/pdf/10.1145/3341302.3342072>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 99/00
H03M 13/37
(57)【特許請求の範囲】
【請求項1】
符号化復号に関する組合せ最適化の目的関数をイジングモデルの形式に変換する
コンピュータが実行する変換方法であって、
第1変形により、前記目的関数からモジュロ2演算を除き、
第2変形により、前記目的関数に含まれる前記最適化したい第1変数を、イジングスピンに対応する第2変数に置き換え、
第3変形により、前記目的関数に関する前記第2変数の次数を削減することにより、
前記目的関数を前記イジングモデルの形式に変換する変換方法。
【請求項2】
前記第2変数の次数の削減に応じて前記第2変数を追加し、前記目的関数に追加された第2変数に関する制約項を追加する前記第3変形により、前記目的関数を前記イジングモデルの形式に変換する請求項1に記載の変換方法。
【請求項3】
前記目的関数の第2変数の次数を2次以下に削減する前記第3変形により、前記目的関数を前記イジングモデルの形式に変換する請求項1に記載の変換方法。
【請求項4】
通信路符号化に関する前記目的関数を前記イジングモデルの形式に変換する請求項1に記載の変換方法。
【請求項5】
線形符号に関する前記目的関数を前記イジングモデルの形式に変換する請求項1に記載の変換方法。
【請求項6】
符号化の復号に関する前記組合せ最適化の目的関数を前記イジングモデルの形式に変換する変換方法であって、
前記目的関数に含まれる前記最適化したい第1変数を、前記イジングスピンに対応する前記第2変数に置き換える前記第2変形により、前記目的関数を前記イジングモデルの形式に変換する請求項1に記載の変換方法。
【請求項7】
通信装置間で通信される情報の復号に用いられる前記目的関数を前記イジングモデルの形式に変換する請求項6に記載の変換方法。
【請求項8】
通信装置が他の通信装置から受信した情報の復号に用いられる前記目的関数を前記イジングモデルの形式に変換する請求項7に記載の変換方法。
【請求項9】
前記第1変数が復元したいメッセージを構成する変数であることを特徴とする請求項6に記載の変換方法。
【請求項10】
前記第1変数が復号したい符号語を構成する変数であることを特徴とする請求項6に記載の変換方法。
【請求項11】
前記組合せ最適化の目的関数が、前記第1変数に関する最尤復号の目的関数であることを特徴とする請求項6に記載の変換方法。
【請求項12】
前記組合せ最適化の目的関数が、生成行列を利用した最尤復号の目的関数であることを特徴とする請求項6に記載の変換方法。
【請求項13】
前記組合せ最適化の目的関数が、符号語に関するパリティ検査の制約を制約項とする最尤復号の目的関数であることを特徴とする請求項6に記載の変換方法。
【請求項14】
符号化に用いる前記組合せ最適化の目的関数を前記イジングモデルの形式に変換する変換方法であって、
前記目的関数に含まれる前記最適化したい第1変数を、前記イジングスピンに対応する前記第2変数に置き換える前記第2変形により、前記目的関数を前記イジングモデルの形式に変換する請求項1に記載の変換方法。
【請求項15】
通信装置が他の通信装置へ送信する情報の符号化に用いられる前記目的関数を前記イジングモデルの形式に変換する請求項14に記載の変換方法。
【請求項16】
前記第1変数が、符号化に用いる生成行列を構成する要素であることを特徴する請求項14に記載の変換方法。
【請求項17】
符号化復号に関する最適化の目的関数をイジングモデルの形式に変換する変換装置であって、
第1変形により、前記目的関数からモジュロ2演算を除く第1演算部と、
第2変形により、前記目的関数に含まれる前記最適化したい第1変数を、イジングスピンに対応する第2変数に置き換える第2演算部と、
第3変形により、前記目的関数に関する第2変数の次数を削減する第3演算部と、
を備え、前記目的関数を前記イジングモデルの形式に変換する変換装置。
【請求項18】
符号化によりメッセージが符号化された符号語を送信装置から受信する受信部と、
前記符号化の復号に関する組合せ最適化の目的関数からモジュロ2演算を除き、前記目的関数に含まれる前記最適化したい第1変数を、イジングスピンに対応する第2変数に置き換え、前記目的関数の第2変数に関する次数を削減することにより、イジングモデルの形式に変換された前記目的関数に基づいて算出されたイジングスピンの値と、前記イジングスピンを前記メッセージに変換する関数とを用いて、前記受信部により受信された前記符号語が復号された情報を生成する生成部と、
を備えた受信装置。
【請求項19】
符号化に用いる組合せ最適化の目的関数からモジュロ2演算を除き、前記目的関数に含まれる前記最適化したい第1変数を、イジングスピンに対応する第2変数に置き換え、前記目的関数の第2変数に関する次数を削減することにより、イジングモデルの形式に変換された前記目的関数に基づいて算出されたイジングスピンの値と、前記イジングスピンを生成行列に変換する関数とを用いて生成した前記生成行列により、メッセージが符号化された符号語を生成する生成部と、
前記生成部により生成された前記符号語を受信装置に送信する送信部と、
を備えた送信装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、変換方法、変換装置、受信装置及び送信装置に関する。
【背景技術】
【0002】
従来、通信路符号化や情報源符号化といった種々の符号化技術が提案されている。通信路符号化の一例としては、例えばLDPC符号(Low Density Parity-check Code:低密度パリティ検査符号、以下LDPC)が知られている(例えば、特許文献1)。
【先行技術文献】
【非特許文献】
【0003】
【文献】“Interior Point Decoding for Linear Vector Channels” Tadashi Wadayama<インターネット>https://arxiv.org/pdf/0705.3990.pdf (令和1年11月22日検索)
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来技術によれば、凸最適化手法に基づいてLDPCが復号される。従来技術によれば、LDPCの復号問題を凸計画問題として定式化し、近似的にその凸計画問題を解くことにより、LDPCが復号される。
【0005】
しかしながら、LDPCの復号に関する処理にはさらなる改善の余地がある。例えば、上記のような復号に関する問題をイジングモデルの形式に変換することができれば、量子アニーリングを用いて問題を解く量子コンピュータやCMOS(Complementary metal-oxide-semiconductor)等を用いたイジング計算器等のイジングマシンによりさらに高速に解を得ることが可能となる。そのため、復号に関する処理にイジングモデルを適用可能にすることが望まれている。
【0006】
そこで、本開示では、符号化復号に関する処理にイジングモデルを適用可能にすることができる変換方法、変換装置、受信装置及び送信装置を提案する。
【課題を解決するための手段】
【0007】
上記の課題を解決するために、本開示に係る一形態の変換方法は、符号化復号に関して最適化の対象となる変数の目的関数をイジングモデルの形式に変換する変換方法であって、第1変形により、前記目的関数からモジュロ2演算を除き、第2変形により、前記目的関数に含まれる前記最適化の対象に対応する第1変数を、イジングスピンに対応する第2変数に置き換え、第3変形により、前記第2変数の次数を削減することにより、前記目的関数を前記イジングモデルの形式に変換する。
【図面の簡単な説明】
【0008】
【
図1】本開示の第1の実施形態に係る通信システムによる処理の一例を示す図である。
【
図2】本開示の第1の実施形態に係る受信装置の構成例を示す図である。
【
図3】本開示の第1の実施形態に係るイジングマシンの構成例を示す図である。
【
図4】通信システムによる復号処理の手順を示すフローチャートである。
【
図5】受信装置による変換処理の手順を示すフローチャートである。
【
図7】通信システムによる復号処理の手順を示すフローチャートである。
【
図11】本開示の第2の実施形態に係る受信装置の構成例を示す図である。
【
図12】本開示の第3の実施形態に係る通信システムによる処理の一例を示す図である。
【
図13】本開示の第3の実施形態に係る送信装置の構成例を示す図である。
【
図14】通信システムの構成の一例を示す図である。
【
図15】通信システムによる符号化処理の手順を示すフローチャートである。
【
図16】通信システムの適用の一例を示す概念図である。
【
図17】通信システムの適用の一例を示す概念図である。
【
図18】変換装置や受信装置や送信装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【0009】
以下に、本開示の実施形態について図面に基づいて詳細に説明する。なお、この実施形態により本願にかかる変換方法、変換装置、受信装置及び送信装置が限定されるものではない。また、以下の各実施形態において、同一の部位には同一の符号を付することにより重複する説明を省略する。
【0010】
以下に示す項目順序に従って本開示を説明する。
1.技術概要
1-1.通信路符号化技術
1-2.誤り訂正符号
1-2-1.LDPC(低密度パリティ検査符号)
1-3.LDPCの復号方法
1-4.タナーグラフ
2.第1の実施形態
2-1.本開示の第1の実施形態に係る通信システムによる処理の概要
2-1-1.通信システムの構成概要
2-1-2.通信システムの処理概要
2-1-3.量子アニーリングとイジングマシン
2-1-4.変換処理
2-1-4-1.最尤復号の定式化
2-1-4-2.第1変形(mod2演算の除去)
2-1-4-3.第2変形(イジングスピンへの置換)
2-1-4-4.第3変形(次数削減)
2-1-5.最適化
2-1-6.まとめ等
2-2.第1の実施形態に係る受信装置の構成
2-3.イジングマシンの構成
2-4.第1の実施形態に係る情報処理の手順
2-4-1.通信システムに係る復号処理の手順
2-4-2.受信装置に係る変換処理の手順
2-5.通信システムの構成の一例
2-5-1.通信システムに係る復号処理の手順
3.第2の実施形態
3-1.第2の実施形態に係る変換処理
3-1-1.最尤復号の定式化
3-1-2.第1変形(mod2演算の除去)
3-1-3.第2変形(イジングスピンへの置換)
3-1-4.第3変形(次数削減)
3-1-5.最適化
3-1-6.まとめ等
3-2.第2の実施形態に係る受信装置の構成
4.第3の実施形態
4-1.本開示の第3の実施形態に係る通信システムによる処理の概要
4-1-1.通信システムの構成概要
4-1-2.通信システムの処理概要
4-1-3.変換処理
4-1-3-1.定式化
4-1-3-2.第1変形(mod2演算の除去)
4-1-3-3.第2変形(イジングスピンへの置換)
4-1-3-4.第3変形(次数削減)
4-1-3-5.最適化
4-2.第3の実施形態に係る送信装置の構成
4-3.通信システムの構成の一例
4-3-1.通信システムに係る符号化処理の手順
5.その他の構成例等
5-1.その他の構成例
5-2.従来との比較
5-2-1.符号化方法の探索の高速化
5-2-2.リアルタイム符号生成
5-3.適用例
5-3-1.適用例#1(IoT)
5-3-2.適用例#2(衛星通信)
5-4.プログラムやパラメータ等の処理に用いる情報の生成方法
5-5.その他
6.本開示に係る効果
7.ハードウェア構成
【0011】
[1.技術概要]
本開示を説明する前に、本開示に係る技術的な背景の概要について説明する。なお、以下の技術的な説明の中で従来技術に関しては適宜説明を省略する。
【0012】
[1-1.通信路符号化技術]
符号化技術には、データ圧縮と、通信路符号化の二つの技術が知られている。このうち、通信路符号化は、通信路を介してデータをやりとり(通信)するときに使われる技術である。通信路符号化では、通信路での外乱に対してデータをロバストに復元することが必要である。このため、データ圧縮とは逆に、データを冗長にする符号化が行われる。
【0013】
一般に、通信路符号化技術では、符号化技術と復号技術がセットで実装される。符号化技術と復号技術がセットで実装された通信システムでは、送信側の装置(送信器)は、符号化器や変調器といった構成を有し、符号化器や変調器を用いて送信メッセージを変換した情報(信号)を、通信路を介して受信側の装置(受信器)へ送信する。受信器は、復調器や復号器といった構成を有し、復調器や復号器を用いて受信した情報(受信信号)を変換し、送信メッセージを復号する。
【0014】
ここで、送信メッセージとは、送信したい情報のビット系列である。符号化器は、送信メッセージをより冗長な通信路符号のビット列に変換する装置である。変調器は、通信路符号を通信路に適した信号に変換する装置である。変調器は、例えば搬送波上に、通信路符号の信号を重畳する役割を果たす。通信路とは、信号を伝送する媒体である。通信路は、伝送中にノイズが付加されたり信号が歪むことで、信号の品質が劣化することが一般的である。復調器は、搬送波上の信号から、通信路符号の信号に変換する装置である。復号器は、冗長な通信路符号に対応する受信信号から、送信メッセージを再生する装置である。
【0015】
[1-2.誤り訂正符号]
上述した符号化器や復号器に関する技術として誤り訂正符号が知られている。例えば、受信信号の信号レベルから確率を利用して復号する技術や、これらの復号技術と組み合わせることで低い誤り率を実現するLDPC符号やターボ符号などが知られている。
【0016】
[1-2-1.LDPC(低密度パリティ検査符号)]
LDPC符号は、低密度パリティ検査行列を用いた誤り訂正符号として知られる。低密度パリティ検査行列とは、パリティ検査行列とよばれる「0」か「1」の値しか取らない行列のうち、「1」の要素(成分)の出現確率が低い行列のことである。パリティ検査行列は、受信した符号列に対して、乗算されることで誤りを検出する行列である。二元線形符号の場合、符号列は「0」か「1」の値しかとらないビットを並べたビット列で表される。このビット列をベクトルとみなして、パリティ検査行列を乗じて、検査値のベクトルを生成する。ただし、行列の乗算は、除数2の剰余演算である。つまり、受信した符号列やパリティ検査行列と同様に、検査値のベクトルも、要素が「0」か「1」の値となる。これらのことを式で表現すると以下の式(1)のようになる。
【0017】
【0018】
また、式(1)の右辺の「0」や「1」を要素とする行列は、パリティ検査行列Hを示す。例えば、パリティ検査行列Hは、K行N列の行列である。また、式(1)の右辺のx1~xNが、受信したビット列xrの各要素を示す。例えば、添字Nはパリティ検査行列の列数に対応する数である。式(1)の左辺のc1~cKが、検査値のベクトルc(検査値ベクトルc)の各要素を示す。例えば、添字Mはパリティ検査行列の行数に対応する数である。なお、検査値のベクトルの要素数は、メッセージ長と異なってもよい。例えば、添字Kは、以下でのメッセージ長のMとは異なる値であってもよい。
【0019】
式(1)については、受信したビット列xr、パリティ検査行列Hを用いて、左辺の検査値のベクトルcは、以下の式(2)のように表現することができる。
【0020】
【0021】
ここで、送信するビット列をビット列xtとする。この送信するビット列xtを以下の式(3)に示すような制約(検査値がすべて「0」)を満たすように生成する。
【0022】
【0023】
ビット列xtの各ビット値xiを用いて、検査値ベクトルcの成分ckは、以下の式(4)のように表される。
【0024】
【0025】
受信したビット列xrが送信したビット列xtと同一、すなわち、誤りがないならば、検査値ベクトルcの各要素の値はすべて「0」、すなわち、検査値ベクトルc=0となる。また、検査値ベクトルc≠0、すなわち検査値ベクトルcの要素に値「1」が含まれるならば、受信したビット列xrには誤りが含まれることを示す。この場合、受信したビット列xrを検査値ベクトルc=0になるようにいくつかのビットを反転することで、送信したビット列xtとして可能などれかに戻すことができる。
【0026】
[1-3.LDPCの復号方法]
ここまで、受信したビット列の検査行列を用いた訂正方法のコンセプトの概要を示した。しかし、LDPCの復号では、ビット列にする前のアナログ値による受信信号列から、元の送信信号(ビット列)を推定するのが一般的である。これは、アナログ値による受信信号を直接利用することで、受信信号をビット列に変換することによる情報の欠落を回避するためである。
【0027】
LDPCの復号は、このアナログ受信信号からのビット列の復号を、ビリーフプロパゲーションと呼ばれる技術を利用して行っている。ビリーフプロパゲーションの処理は、具体的には、まず、受信信号列から、ビット列の代わりに、ビット値の尤度比に関する情報を求める。そして、この尤度比から、検査ビットの尤度に関する情報を求め、この情報から検査ビットが「0」になるように尤度比の補正を行い、この一連の処理を繰り返すことで、得られた尤度比からビット列を算出する。
【0028】
尤度比に関する情報である「対数オッズ」は、ガウス通信路の場合は、ガウス通信路のノイズ強度と信号強度を用いて、たとえば、以下の式(5)により算出される。
【0029】
【0030】
ここで、rjは、j番目の受信信号の強度で、nはノイズの強度である。ガウス通信路の受信信号を式で書くと以下の式(5-2)のように書ける。
rj = xj+nεj … (5-2)
ここで、xjは送信した符号のビット値を連続値の信号としたものである。なお、ノイズの強度が不明の場合、例えば「1」前後の値等、適宜値を設定する。また、例えば、p(0│rj)は、j番目の信号が「0」である確率を示し、p(1│rj)は、j番目の信号が「1」である確率を示す。
【0031】
また、尤度比の補正を行う処理は、たとえば、以下の式(6)に基づいて行う。
【0032】
【0033】
γjは補正された対数オッズである。ただし、αijは初期値「0」である。つまり、γjの初期値は、j番目に受信した信号の補正前の対数オッズλjである。また、例えば、hijは、パリティ検査行列のi行j列の要素(成分)に対応する。パリティ検査行列から尤度比の補正を行う補正値を算出する処理は、以下の式(7)、(8)、(9)に基づいて行う。
【0034】
【0035】
【0036】
【0037】
この処理を適切な回数だけ繰り返し行えば、パリティの制約を考慮したの事後確率の対数オッズγjが計算される。この対数オッズを閾値判定することで、元の送信符号列を推定する。このように、式(5)~(9)を用いて、尤度比の補正を行う補正値をフィードバックして処理を繰り返すことで、パリティ検査行列を満たすように尤度比が補正される。パリティ検査行列を満たすように尤度比が補正されるため、所定の閾値で、符号の条件を満たしつつ、通信路のノイズの影響を抑制した復号ができる。
【0038】
[1-4.タナーグラフ]
ここで、パリティ検査行列をグラフで表す方法として、タナーグラフと呼ばれる二部グラフが知られている。たとえば、上記の式(1)の右辺の符号ビット列の要素、左辺の検査ビット列の要素をそれぞれノードとし、符号ビット列のノードを変数ノード、検査ビット列のノードを検査ノードとする二部グラフを考える。この二部グラフにおいて、パリティ検査行列の要素が「1」になる箇所に対応するエッジ(辺)だけを接続したグラフをタナーグラフと呼ぶ。タナーグラフの一例を
図8に示す。
図8は、タナーグラフの一例を示す図である。
【0039】
前述のサムプロダクト法における式(6)、(7)の処理は、タナーグラフ上の変数ノードの処理に相当する。また、式(8)、(9)の処理は、タナーグラフ上の検査ノードの処理に相当する。
【0040】
サムプロダクト法では、タナーグラフに短いループが含まれている場合に復号性能が劣化することが多いことが知られている。ここでループとは、ある変数ノードから開始して、検査ノード、変数ノードを繰り返して経て、元の変数ノードに戻る経路のことである。
【0041】
LDPCでは、符号の形成は検査行列の構成で行われるが、検査行列の構成は乱数を使って行い、さらに、符号の精度は実際にシミュレーションを行って評価を行っている。また、この過程でさらに、タナーグラフのループの回避などが行われている。これらの処理は、現在のように一度良い検査行列を見つけたらそれを使いまわすような使い方であれば、時間をかけてゆっくり探すこともできる。しかしながら、例えば、リアルタイムに素早く符号を作りたい、あるいは、アプリケーションに応じて頻繁に新しい符号を形成したい場合などでは、このような試行錯誤の時間は回避することが望まれる。さらに、タナーグラフの存在でどれくらい性能が劣化するのかわからないことも問題の一つである。より純粋に符号間の最小距離や限界距離などで評価できれば、符号の改善にもつながるし、制約を減らすことでより符号の構成の自動化にも適している。
【0042】
以上のように、LDPCはよい符号をリアルタイムに構成したり、アプリケーション(で生じるメッセージの頻度分布)に応じて符号を構築したり、符号の性能を純粋に符号間距離で評価して符号の構成を簡易化して、たとえば、シャノン限界に近くなりにくい短い符号長の符号の性能を向上することには向いていなかった。
【0043】
そのため、タナーグラフのループ回避をしなくてもよい符号が生成できる方法を提供することや、純粋な符号間距離の評価だけでよい符号が生成できる方法を提供すること等が望まれていた。
【0044】
そこで、本開示では、符号化復号に関する処理にイジングモデルを適用可能にすることができる方法を提案する。
【0045】
[2.第1の実施形態]
[2-1.本開示の第1の実施形態に係る通信システムによる処理の概要]
図1は、本開示の第1の実施形態に係る通信システムによる処理の一例を示す図である。本開示の第1の実施形態に係る処理は、
図1に示す変換装置の一例である受信装置100によって実現される。なお、受信装置100は、情報の受信のみに限らず、他の装置との間で通信を行い、情報を送受信する通信装置であってもよく、この場合、受信装置100は、他の装置に情報を送信する送信装置として機能する。
【0046】
[2-1-1.通信システムの構成概要]
まず、
図1に示す通信システム1の構成について説明する。
図1には、第1の実施形態に係る通信システム1の構成例を示す。
図1に示すように、通信システム1は、イジングマシン10と、送信装置50と、受信装置100とが含まれる。送信装置50は、送信側の装置(送信器)に対応し、受信装置100は、受信側の装置(受信器)に対応する。
図1の例では、受信側の装置(受信器)である受信装置100での情報の復号にイジングモデルが利用される場合を示す。なお、
図1に示した通信システム1には、複数台のイジングマシン10や、複数台の送信装置50や、複数台の受信装置100が含まれてもよい。
【0047】
送信装置50と、受信装置100とは所定のネットワーク(通信網)を介して、有線または無線により通信可能に接続される。送信装置50は、所定のネットワークによる通信路を介して受信装置100に情報(信号)を送信する。また、イジングマシン10と、受信装置100とは所定のネットワーク(通信網)を介して、有線または無線により通信可能に接続される。
【0048】
イジングマシン10は、イジングモデルを用いるコンピュータ(計算機)である。イジングマシン10は、イジングモデルを用いて、組合せ最適化問題を解くコンピュータである。
図1の例では、イジングマシン10は、量子アニーリングを用いて問題を解く量子コンピュータ(量子計算機)である。イジングマシン10は、量子アニーリング方式や量子アニーラにより実現することができる。なお、イジングマシン10は、いわゆる量子コンピュータに限らず、イジングモデルを用いるコンピュータであれば、例えばCMOS(Complementary metal-oxide-semiconductor)等を用いたイジング計算器等であってもよい。例えば、イジングマシン10は、GPU(Graphics Processing Unit)等のプロセッサやFPGA(Field Programmable Gate Array)等の集積回路を用いたイジング計算器等であってもよい。
【0049】
送信装置50は、情報を他の装置への送信する送信側の装置(送信器)である。なお、送信装置50は、情報の送信のみに限らず、他の装置との間で通信を行い、情報を送受信する通信装置であってもよく、この場合、送信装置50は、他の装置に情報を送信する送信装置として機能する。送信装置50は、ネットワーク(通信路)を介して情報を他の装置へ送信する。
【0050】
送信装置50は、符号化を行う情報処理装置である。送信装置50は、送信する情報(メッセージ)を符号化する機能を有する。送信装置50は、通信路符号化の技術を用いて、メッセージを符号化した符号語(符号列)を生成する。送信装置50は、生成行列を用いた符号化を行い、メッセージを符号化した符号語を生成する。送信装置50は、メッセージを符号化した符号語を受信装置100等の他の装置へ送信する。
【0051】
受信装置100は、他の装置からの情報を受信する受信側の装置(受信器)である。受信装置100は、他の装置から受信した情報を元の情報に復号する。
【0052】
変換装置である受信装置100は、通信路符号化の復号に関する対象の目的関数をイジングモデルの形式に変換する。受信装置100は、線形符号の復号に関する対象の目的関数をイジングモデルの形式に変換する。
【0053】
受信装置100は、通信装置が他の通信装置から受信した情報の復号に用いられる目的関数をイジングモデルの形式に変換する。受信装置100は、通信装置間で通信される情報の復号に用いられる目的関数をイジングモデルの形式に変換する。受信装置100は、メッセージである対象の目的関数をイジングモデルの形式に変換する。受信装置100は、最尤復号に対応する目的関数をイジングモデルの形式に変換する。受信装置100は、符号化の生成行列に対応する変数を含む目的関数をイジングモデルの形式に変換する。受信装置100は、検査行列に対応する変数を含む目的関数をイジングモデルの形式に変換する。
【0054】
受信装置100は、イジングマシン10に計算の実行を指示する。受信装置100は、イジングマシン10にイジングモデルのパラメータを送信する。受信装置100は、イジングマシン10にイジングモデルのパラメータを送信することにより、イジングマシン10に計算の実行を指示する。受信装置100は、イジングマシン10の計算結果を取得する。受信装置100は、イジングマシン10からイジングマシン10の計算結果を受信する。受信装置100は、イジングマシン10から取得したイジングマシン10の計算結果を用いて、復号処理を実行し、復号した情報を生成する。
【0055】
[2-1-2.通信システムの処理概要]
ここで、
図1を参照しつつ通信システム1の処理の概要を説明する。
図1の例では、送信装置50から受信装置100へ情報(データ)を送信する場合を一例として示す。
【0056】
送信装置50は、通信路符号化の技術を用いて、メッセージ(メッセージMX)を符号化する(ステップS1)。送信装置50は、LDPC符号化により、メッセージMXを符号化する。これにより、送信装置50は、メッセージMXを符号化した符号語(符号語CT)を生成する。そして、送信装置50は、符号語CTを受信装置100へ通信路を介して送信する(ステップS2)。これにより、受信装置100は、符号語CTに対応する符号語CT´を受信する。例えば、受信装置100は、符号語CTに通信路によるノイズが混入した符号語CT´を受信する。
【0057】
受信装置100は、復号に関する目的関数をイジングマシン10が計算可能な形式に変換する(ステップS3)。受信装置100は、目的関数をイジングモデルの形式に変換するための変換処理を行う。受信装置100は、復号に関する対象の目的関数からモジュロ2演算を除き、目的関数に含まれる対象に対応する第1変数を、イジングスピンに対応する第2変数に置き換え、第2変数の次数を削減することで、目的関数をイジングモデルの形式に変換する。なお、この変換処理の詳細は[2-1-4.変換処理]で後述する。また、
図1の例では、説明を簡潔にするために、受信装置100が情報の受信後に変換処理を行う場合を示したが、変換処理のうち受信前に実行可能な処理は予め行われてもよいし、受信装置100以外の他の変換装置により行われてもよい。例えば、第1変数は、復元したいメッセージを構成する変数である。また、例えば、第1変数は、復号したい符号語を構成する変数である。例えば、組合せ最適化の目的関数は、第1変数に関する最尤復号の目的関数である。また、例えば、組合せ最適化の目的関数は、生成行列を利用した最尤復号の目的関数である。また、例えば、組合せ最適化の目的関数は、符号語に関するパリティ検査の制約を制約項とする最尤復号の目的関数である。
【0058】
そして、受信装置100は、イジングモデルの形式に変換後の目的関数の情報を用いて、イジングマシン10に計算の実行を指示する(ステップS4)。受信装置100は、イジングマシン10にイジングモデルのパラメータを送信する。受信装置100は、イジングマシン10にイジングモデルの形式に変換後の目的関数のパラメータを送信することにより、イジングマシン10に計算の実行を指示する。
【0059】
そして、受信装置100からパラメータを取得したイジングマシン10は、計算を実行する(ステップS5)。例えば、イジングマシン10は、量子アニーリング等の技術により目的関数を最小化する組合せ最適化問題の解を求めるが詳細は[2-1-3.量子アニーリングとイジングマシン]で後述する。
【0060】
そして、イジングマシン10は、計算結果(測定結果)を受信装置100へ送信する(ステップS6)。これにより、受信装置100は、イジングマシン10の計算結果を取得する。
【0061】
そして、受信装置100は、イジングマシン10から取得したイジングマシン10の計算結果を用いて、復号処理を実行し、復号した情報を生成する(ステップS7)。例えば、受信装置100は、イジングマシン10から取得したイジングマシン10の計算結果を用いて、復号処理を実行することにより、メッセージMXを復号する。
【0062】
上記のように、受信装置100は、目的関数をイジングモデルの形式に変換するための変換処理を行い、目的関数をイジングマシン10が計算可能な形式に変換する。このように、通信システム1は、符号化復号に関する処理にイジングモデルを適用可能にすることができる。これにより、通信システム1は、イジングマシン10を用いることで高速に復号を行うことが可能となる。
【0063】
[2-1-3.量子アニーリングとイジングマシン]
ここで、イジングマシン10について説明する。まず、イジングマシン10の一例としての量子アニーリング及びその装置である量子アニーラについて説明する。
【0064】
量子アニーリングは、量子デバイスを使った量子ビット(Quantum Bit、QbitまたはQubitとも称する)を用いて、組合せ最適化を実行するハードウエアシステムとして知られている。ここで、量子ビットは、量子重ね合わせと、量子もつれを実現できる情報単位(ビット)のことである。例えば、量子重ね合わせとは、1ビット(1Qbit)で、2つの状態(値)を並列的に、確率的に(量子確率振幅)保持する現象であり、量子もつれとは、2ビットの間に古典的には実現できない相関状態を実現する現象である。
【0065】
量子アニーリングは、量子ビットを使った計算の一種であることから、量子計算そのものと混同されることも多いが、伝統的に検討されてきた量子計算機とはかなり動作が異なる。しかしながら、量子ビットを使った計算であることには変わりないので、量子計算の一つの手法として位置づけられることが多い。
【0066】
量子アニーリングが実現できる計算は、以下の式(10)に示すような二次形式の目的関数を最小化する組合せ最適化問題の解を求めることである。
【0067】
【0068】
ここで、σiは、「0」か「1」の二値のいずれかを取る変数であり、最適解を探したい変数である。σj、σkも同様に、「0」か「1」の二値のいずれかを取る変数であり、最適解を探したい変数である。また、Jij、hkはパラメータであり、外部から与えられる。例えば、イジングマシン10は、パラメータであるJij、hkを受信装置100等の他の装置から取得する。なお、説明の便宜上、ここでは、これらのパラメータは、σiを「0」か「1」の代わりに便宜的に「±1」、すなわち「-1」か「1」を取った場合のパラメータとする。
【0069】
量子アニーリングでは、まず、イジングモデルと呼ばれる物理モデルを、量子デバイスと回路を駆使して実現する。例えば、イジングモデルをイラストで表す場合、
図9のような図となる。
図9は、イジングモデルを模式的に示す図である。
【0070】
イジングモデルは、磁石の強磁性を説明するためのシンプルなモデルとして提唱された物理モデルである。
図9において各格子点は、上向き、あるいは下向きのスピンモーメントのみが観測される電子スピンを表している。
【0071】
統計物理学では、物理モデルの振る舞いはエネルギー関数を用いて記述されるが、この物理モデルのエネルギー関数(ハミルトニアン)は、以下の式(11)のように記述される。
【0072】
【0073】
式(11)において、σiは、i番目のスピンである。σiは、スピンが上向き「-1」と下向き「1」とのいずれであるかを表す変数である。σj、σkも同様に、スピンが上向き「-1」と下向き「1」とのいずれであるかを表す変数である。また、Jijはスピン間の相互作用の大きさを決める結合エネルギー、hkはスピンに平行な外磁場成分である。スピン間の結合エネルギーは、磁石の強磁性を説明するためのモデルでは隣接スピン間のみを「0」ではない値とするモデルが採用されていたが、ここでは、任意のスピン間で結合エネルギーが「0」でない値をとりうるように一般化している。このようなモデルは、スピングラスと呼ばれる。なお、Jijまたはhkのことを、イジングモデルのパラメータまたはイジングモデルの係数と呼ぶこともあるが、単にパラメータと記載する場合がある。
【0074】
式(10)、(11)に示すように、イジングモデルのエネルギー関数が、組合せ最適化の目的関数と等価である。例えば、イジングモデルのエネルギー関数が、組合せ最適化の目的関数と等価である点は、「±1」と「0」、「1」との変数変換などの処理により証明されるが、詳細な説明は省略する。そこで、組合せ最適化の目的関数のパラメータと同じパラメータをもつイジングモデルを人工的に構成して、そのエネルギー関数の基底状態(エネルギー最小状態)のスピンを計測すれば、最適解(局所最適ではなく大域最適)が求まるだろうというのが量子アニーリングの着想の原点である。
【0075】
なお、エネルギー最小状態の実現は、超低温下で、重ね合わせ状態から基底状態への段階的な断熱遷移(定常状態とみなせる程度にゆっくりした状態遷移)によって実現される。この過程を量子アニーリングと呼ぶ。
【0076】
具体的には、まず、初期には、全ての組合せの重ね合わせ状態を実現するための以下の式(12)に示すような横磁場(水平方向磁場)を与える。
【0077】
【0078】
式(12)に示すような横磁場を与えたエネルギー関数(ハミルトニアン)は、以下の式(13)のようになる。
【0079】
【0080】
式(13)では、初期状態では横磁場HQuantumを含む項(重ね合わせの項)が支配的であり、全組合せ(解の候補)を重ね合せた状態となる。例えば、式(13)では、t=0では重ね合わせの項が支配的であり、全組合せ(解の候補)を重ね合せた状態となる。そして、式(13)では、ステップ的に重ね合わせの項をゆるめて(例えばtを増加させて)、時刻Tで解に収束させ、最後に基底状態を実現する。その後、基底状態で、スピンを計測することでこれを最適解として利用するという手順である。なお、これらの手順は、量子アニーリングの従来技術を用いて実現されるため、詳細な説明は省略する。
【0081】
また、この過程は、断熱過程の「ゆっくり」があるが、実際のマシン(例えばイジングマシン10)では、全過程をマイクロ秒の単位で完了することができる。
【0082】
また、熱揺らぎを使うシミュレーテッドアニーリングと比べて、
図10に示すような量子揺らぎによるトンネル効果を使うことからシミュレーテッドアニーリングよりも高速に実現されるとされている。
図10は、トンネル効果を模式的に示す図である。なお、その効果は、特定の問題設定では、実験的にも確かめられている。
【0083】
量子ビットを実現する量子デバイスは、イオンや光、単一電子(量子ドット)などが知られているが、現在最も有効な量子デバイスは、超伝導デバイスである。超伝導を実現するには、極低温が必要である。このため、従来、巨大な冷却装置(冷却機構)が必要となるが、これらの冷却装置をサーバ側で設置し、エッジ側では計算結果のみを獲得することができる。
【0084】
例えば、通信システム1では、例えば冷却機構を備えたイジングマシン10をサーバ側に配置し、エッジ側の受信装置100は、イジングマシン10に計算を要求し、計算結果を取得することで、エッジ側の受信装置100は計算結果のみを獲得することができる。
【0085】
また、量子アニーリングの実現にともない、イジングモデルを使った組合せ最適化が脚光を浴び、イジングモデルの表わす組合せ最適化自体を、量子ビットを用いることなく既存のデジタル回路やゲート回路を駆使して高速化する装置などが提案されている。例えば、CMOS等を用いたイジング計算器等である。これらは、超伝導を使わずデジタル回路で実現できるためエッジ側での実現も可能である。
【0086】
上述したように、イジングマシン10は、既存のデジタル回路やゲート回路を用いて構成される装置(イジング計算器)であってもよい。すなわち、イジングマシン10は、GPU等のプロセッサやFPGA等の集積回路を用いたイジング計算器であってもよい。
【0087】
[2-1-4.変換処理]
ここから、変換方法について説明する。なお、ここでは、LDPC(LDPC符号)を一例として説明する。なお、以下に示す変換処理等は、mod2の線形符号であることだけを仮定していて、適用対象は、LDPCに限るものではない。つまり、一般のmod2の線型符号の最尤復号法に適用できる。例えば、適用対象は、Reed-Solomon符号や、ハミング符号、BCH(Bose-Chaudhuri-Hocquenghem)符号等の種々の符号化手法であってもよい。
【0088】
[2-1-4-1.最尤復号の定式化]
まず、前提について説明する。LDPCで符号化を行う場合、検査行列から計算(生成)することができる生成行列を用いる。LDPCに限らず二元線形符号の生成行列は、「0」か「1」の要素だけで構成される行列で、メッセージ長をM、符号長をNとしてN×Mの行列である。例えば、以下の式(14)のように表すことができる。
【0089】
【0090】
また、式(14)の右辺の「0」や「1」を要素とする行列は、生成行列Gを示す。例えば、生成行列Gは、N行M列の行列である。式(14)の右辺のm1~mMが、メッセージmの各要素を示す。例えば、添字Mは生成行列の列数に対応する数である。なお、メッセージの要素数(メッセージ長)は、上述した検査値のベクトルの要素数と異なってもよい。式(14)の右辺のmod2は、モジュロ2演算を示す。例えば、mod2は、法「2」で除算し、余りを取得する演算に対応する。また、式(14)の左辺のx1~xNが、符号語xの各要素を示す。例えば、添字Nは生成行列の行数に対応する数である。
【0091】
式(14)については、メッセージm、生成行列Gを用いて、左辺の符号語xは、以下の式(15)のように表現することができる。
【0092】
【0093】
また、式(15)については、以下の式(16)のように表現することができる。
【0094】
【0095】
ここでは、x=(x1…xN)は符号を表すビット列(符号語)であり、m=(m1…mM)はメッセージを表すビット列である。また、gijは、生成行列Gのi行j列の要素(成分)に対応する。
【0096】
最尤復号は、この受信した信号系列に対して最も尤もらしいメッセージのビット列を見つける復号方法である。通信路における外乱は、白色の加法的ガウスノイズを考えることが一般的である。このような通信路のモデルでは、受信信号は以下の式(16-2)で書ける。
rj = xj+nεj … (16-2)
ここで、xjは送信した符号のビット値を連続値の信号としたものである。このようなモデルにしたがう受信信号からメッセージを最尤復号をする場合、最尤復号は、以下の式(17)のような最小二乗法として定式化される。
【0097】
【0098】
式(17)中のxiは、符号語(ビット列)のi番目の値を示す。式(17)中のriは、受信した信号を示す。例えば、式(17)中のriは、送信された符号語にノイズが入っている信号を示す。式(17)中のxiは、符号語(ビット列)のi番目の値にノイズが加わった値を示す。また、式(17)については、以下の式(18)のように表現することができる。
【0099】
【0100】
式(18)に示すような最小二乗法は、mod2の演算があるため、mに関してすべての組合せを調べる必要がある。つまり、2M通りの組合せが存在する。一方で、この式は、mod2の演算がなければ、mの二次式に相当する。そこで、前述の組合せ最適化の式が適用できることが期待できる。しかし、実際には、mod2の演算があるために、このまま適用することはできない。
【0101】
そこで、受信装置100は、以下に示すような第1変形~第3変形を含む変形処理を目的関数である式(18)に行うことにより、mod2を除去し、目的関数をイジングモデルの形式に変換する。
【0102】
[2-1-4-2.第1変形(mod2演算の除去)]
まず、受信装置100は、第1変形により、mod2の演算を除去する。これには、gij、mjは、「0」または「1」のみを取るので、mod2の演算は、以下の式(19)に示すような変形ができることを利用する。
【0103】
【0104】
ここで、上記の変形の証明について簡単に記載する。まず、a,b∈{0,1}とし、全ての組合せ(4通り)を試すことで、以下の式(20)に示すような補題が成り立つ。
【0105】
【0106】
続いて、数学的帰納法により、上の関係式(式(19))を証明する。M=1のときは、上の関係式は以下の式(21)に示すように成立している。
【0107】
【0108】
次にMのとき、上の関係式(式(19))が成り立つとする。M+1のときの左辺は、以下の式(22)のように変形できる。
【0109】
【0110】
また、式(22)は、式(19)より、以下の式(23)のように変形できる。
【0111】
【0112】
そして、式(23)より、補題より、以下の式(24)のように変形できる。
【0113】
【0114】
Mのとき、上の関係式が成り立てば、M+1の時も成り立つことがわかる。よって、最尤復号の最適化の式である式(25)(式(18)の再掲)は、以下の式(26)のようにmod2を含まないように変形できる。
【0115】
【0116】
【0117】
そして、式(26)の二乗の項を展開すると、以下の式(27)のように変形できる。
【0118】
【0119】
ここで、式(27)の右辺Σ中の第一項と第三項はmjによらない定数(例えば第三項は常に1/4)なので、式(27)は、以下の式(28)のように変形できる。
【0120】
【0121】
このように、式(28)はmod2演算を含まない。受信装置100は、第1変形により、目的関数の形式を式(18)から式(28)に変換し、mod2の演算を除去する。
【0122】
[2-1-4-3.第2変形(イジングスピンへの置換)]
次に、受信装置100は、第2変形により、イジングスピンへの置換を行う。受信装置100は、変換式「σj=1-2mj」を用いて、イジングスピンに置き換える。例えば、受信装置100は、メッセージに対応する第1変数「m」をイジングスピンに対応する第2変数「σ」に置き換える。受信装置100は、変換式「σj=1-2mj」を用いて、式(28)を、以下の式(29)に変形する。
【0123】
【0124】
式(29)の形式の目的関数は、σjに関してM次の多項式である。gijは、「0」または「1」なので、以下の式(30)のように変形できる。
【0125】
【0126】
ここで、Miは、生成行列のi行中の「1」の個数である。また、ikは生成行列のi行中で左からk番目に「1」が現れる列のインデックス番号である。
【0127】
このように、式(30)はメッセージに対応する第1変数「mj」をイジングスピンに対応する第2変数「σj」に置き換えられている。受信装置100は、第2変形により、目的関数の形式を式(28)から式(30)に変換し、対象に対応する第1変数を、イジングスピンに対応する第2変数に置き換える。
【0128】
[2-1-4-4.第3変形(次数削減)]
式(30)に示すような最適化問題は、σに関して、2次以上の多項式になることがありうるが、イジングモデルでは、目的関数はσに関する2次の多項式である。そこで、この最適化問題をイジングモデルの最適化で解くためには、σに関する2次式まで次数を落としていく必要がある。そこで、受信装置100は、第3変形により、第2変数「σ」の次数を削減する。
【0129】
これには、積σiσjは、「-1」か「1」を取る変数なので積そのものを改めて変数、たとえば、σpに置き換えることを利用する。これにより、受信装置100は、σに関する次数を一つ下げることができる。ただし、他で使われているσi、σjと、σpの整合性が取れていることが必要である。このため、例えば、受信装置100は、以下の式(31)に示すような制約項を目的関数に追加する。
【0130】
【0131】
この制約項は、σiσj≠σpのとき、エネルギーが高くなる。したがって、この項を正の定数倍して目的関数に加えることで、σiσj=σpの制約下で解が求められる。なお、制約項は上式に限るものではなく、σiσj=σpのときだけエネルギーが「0」、それ以外ならば正になるような式であれば、二次形式の範囲で種々設定されてもよい。
【0132】
例えば、受信装置100は、式(31)の制約項を加えつつ式(30)の第2変数「σ」の次数を削減する。以下では、式(31)を用いて、式(30)の第2変数「σ」の次数を順次下げていく方法を説明する。例えば、i番目のビットに関するMi次元の総乗の項について、以下の式(32)、(32-2)、(32-3)、(32-4)のように順次新しいスピンσpm(m=2…Mi)を導入して、総乗の次元を削減していく。
【0133】
【0134】
式(32-2)は、式(32)から次数を1削減した場合を示す。具体的には、式(32-2)は、σi1とσi2との積をσp2とすることにより、式(32)から第2変数「σ」の次数を1削減した場合を示す。このようにすると最適化の式(30)の次元は、以下の式(33)に示すように一次元まで削減できる。
【0135】
【0136】
ただし、新しく導入したスピンはそれぞれ式(31)と類似の以下の式(34)や式(35)に示すような二次式の制約を満たす。
【0137】
【0138】
【0139】
この制約を満たすように、最適化の式(30)をラグランジェ未定乗数の形式に変形すると、以下の式(36)のようになる。
【0140】
【0141】
パラメータλimは、未定乗数で正の値をとる。ここでは、制約式ごとに別々のパラメータをとる場合を示すが、上記の制約式はどれも「0」以上の値しかとらないので、同じ乗数としてもよい。
【0142】
パラメータλimは、制約条件を必ず満たすようにするため、大きめな値、例えば、「1」以上の値が望ましい。例えば、制約項である第二項が第一項の6倍程度になるように設定することが望ましい。
【0143】
また、初期には少し小さめに設定して、制約項が「0」になるまで、繰り返して大きくしていってもよい。以下の式(37)のようにパラメータλimを、勾配法的に大きくしていってもよい。なお、γは正の小さい値で、勾配法の更新パラメータである。
【0144】
【0145】
ここで、式(36)は、スピンに関して二次以下の項しか出現していない。このように、最尤復号の目的関数と等価な、イジングモデルのエネルギー関数(ハミルトニアン)を導出できる。このように、受信装置100は、最尤復号の目的関数の式(18)をイジングモデルの形式、すなわちイジングモデルのハミルトニアンに対応する式(36)に変形する。
【0146】
[2-1-5.最適化]
そして、最適化は、このイジングモデルの係数をイジングマシン10に与えて、アニーリングの計算を行い、その結果として得られるイジングスピンからメッセージを生成(復号)する。例えば、受信装置100は、上記の変形処理により導出した式(36)のイジングモデルの係数(パラメータ)をイジングマシン10に送信する。
【0147】
そして、受信装置100から式(36)のイジングモデルの係数(パラメータ)を取得したイジングマシン10は、計算を実行し、その結果を受信装置100へ送信する。イジングマシン10は、計算(測定)したイジングスピンの値を受信装置100へ送信する。イジングマシン10は、計算(測定)したσの各要素の値を受信装置100へ送信する。
【0148】
そして、受信装置100は、以下のような式(38)を用いて、取得したイジングスピンの値をメッセージの値へ変換することにより、メッセージを生成(復号)する。
【0149】
【0150】
式(38)は、メッセージmのj番目の要素mjを生成する式を一例として示す。要素mjは、対応するj番目のイジングスピンσjを「1」から減算し、1/2を乗算した値となる。例えば、イジングスピンσjの値が「-1」である場合、要素mjは、「1(=1/2(1-(-1)))」となる。例えば、イジングスピンσjの値が「1」である場合、要素mjは、「0(=1/2(1-1))」となる。このように、受信装置100は、その結果として得られるイジングスピンからメッセージを生成することができる。なお、メッセージmのj番目以外の他の要素についても同様に処理することにより、受信装置100は、メッセージを復号する。以上により、受信装置100は、最適メッセージ列を獲得できる。
【0151】
[2-1-6.まとめ等]
以上をまとめると第1の実施形態に係る変換方法による最尤復号は、以下の手続きによりイジングモデルで定式化できる。
【0152】
例えば、最尤復号中のmod2の除去は、式(25)~(28)により定式化できる。すなわち、変換方法の第1変形は、式(25)~(28)により実現される。
【0153】
また、例えば、情報ビットのスピンによる表現は、式(30)により定式化できる。すなわち、変換方法の第2変形は、式(30)により実現される。
【0154】
また、例えば、スピン次元の削減に伴う制約項は、式(33)により定式化できる。また、例えば、制約項を用いたイジングモデルの定式化は、式(36)により定式化できる。すなわち、変換方法の第3変形は、式(33)や式(36)により実現される。
【0155】
上記のように、受信装置100は、イジングモデルをイジングマシン10に与えることで最適スピン配置を獲得し、得られたスピン配置から情報ビットを獲得する。
【0156】
上記のように、通信システム1では、サムプロダクト法の代わりに、最尤復号方法を用いる。そして、通信システム1では、最尤復号方法を、メッセージを構成するビットの組合せ最適化の問題として定式化することができる。また、通信システム1では、組合せ最適化の問題を、量子アニーラあるいはそれに準ずるイジングマシンで解くように(システムを)構成することができる。
【0157】
また、例えば、上述した処理をプログラムとして表現する場合、スピン次元の削減と制約項の導出、および、制約項を用いたイジングモデルの定式化がプログラムとして記述できる。
【0158】
例えば、式(32)、(32-2)、(32-3)、(32-4)、(34)、(35)等の次元削減のためのスピンと制約項は、以下のようなプログラムで導出することができる。
【0159】
【0160】
以下の記載は上記のプログラムに対応する。
def product_to_constraint(sigma):
mi = len(sigma)
sigma_ps = []
penalties = []
sigma_ps.append(sigma[0])
penalties.append(0)
for k in range(mi - 1):
sigma_k = sigma[k + 1]
sigma_q = sigma_ps[-1]
sigma_p = sigma_q * sigma_k
penalty = 3 * sigma_p + sigma_q * sigma_k - 2 * sigma_p * (sigma_q + sigma_k)
sigma_ps.append(sigma_p)
penalty.append(penalty)
return sigma_ps[1:], penalties[1:]
【0161】
ここで、入力されるsigmaは、スピンを表す変数の配列であり、また、スピンを表す変数は、プログラム上では、予め型(クラス)がきめられている変数である。また、出力のsigma_psは、補助スピンを表す変数の配列であり、sigmaと同様の型(クラス)の変数の配列になっている。一方、出力のpenaltiesは、sigmaとsigma_pの制約を表す配列であり、目的関数と同じ型をもっている。目的関数の型(クラス)は、目的関数を構成する全スピンのsigma変数の通し番号とポインタ、および、全スピンの一次、全スピン間の二次の係数をパラメータとして持つクラスである。元の目的関数を、補助スピンを用いて二次以下の形式にした変数をh_isingとすると、補助スピンの制約を順次加えていった目的関数は、以下のように表される。
h = h_ising
for penalty in penalties: h += lambda * penalty
ただし、lambdaは、未定定数制約のパラメータである。このように、h_isingにpenaltiesを加えていくことで、sigmaとパラメータが更新されていく。最終的に得られた目的関数変数hから、目的関数クラスに用意されたアクセッサを介して、一次、二次係数を取り出すことで、イジングモデルのパラメータを抽出することができる。
【0162】
[2-2.第1の実施形態に係る受信装置の構成]
次に、第1の実施形態に係る処理を実行する変換装置の一例である受信装置100の構成について説明する。
図2は、本開示の第1の実施形態に係る受信装置の構成例を示す図である。
【0163】
図2に示すように、受信装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、受信装置100は、受信装置100の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
【0164】
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、所定のネットワーク(図示省略)と有線または無線で接続され、イジングマシン10や送信装置50等の他の情報処理装置との間で情報の送受信を行う。また、通信部110は、ユーザが利用するユーザ端末(図示省略)との間で情報の送受信を行ってもよい。
【0165】
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。第1の実施形態に係る記憶部120は、
図2に示すように、データ記憶部121と、関数情報記憶部122とを有する。
【0166】
データ記憶部121は、図示を省略するが各種データを記憶する。データ記憶部121は、他の装置から受信したデータや復号したデータなどの各種データを記憶する。関数情報記憶部122は、図示を省略するが各種の関数の情報を記憶する。例えば、関数情報記憶部122は、変換処理や生成処理に用いる各種の関数の情報を記憶する。例えば、関数情報記憶部122は、上述した式(1)~(38)のうち処理に用いる関数の情報を記憶する。なお、記憶部120は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、記憶部120は、上述の数39で示したプログラムを記憶してもよい。
【0167】
制御部130は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、受信装置100内部に記憶されたプログラム(例えば、本開示に係る変換処理プログラム等)がRAM(Random Access Memory)等を作業領域として実行されることにより実現される。また、制御部130は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
【0168】
図2に示すように、制御部130は、受信部131と、第1演算部132と、第2演算部133と、第3演算部134と、生成部135と、送信部136とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、
図2に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部130が有する各処理部の接続関係は、
図2に示した接続関係に限られず、他の接続関係であってもよい。
【0169】
受信部131は、各種情報を受信する。受信部131は、外部の情報処理装置から各種情報を受信する。受信部131は、イジングマシン10から各種情報を受信する。受信部131は、送信装置50等の他の情報処理装置から各種情報を受信する。
【0170】
受信部131は、記憶部120から各種情報を取得する。受信部131は、データ記憶部121や関数情報記憶部122から各種情報を取得する。受信部131は、符号化によりメッセージが符号化された符号語を送信装置50から受信する。
【0171】
図1の例では、受信部131は、符号語CTに対応する符号語CT´を受信する。受信部131は、符号語CTに通信路によるノイズが混入した符号語CT´を受信する。
【0172】
第1演算部132は、各種演算処理を実行する。第1演算部132は、目的関数のイジングモデルの形式への変換に関する処理を実行する。第1演算部132は、第1変形を実行する。第1演算部132は、データ記憶部121や関数情報記憶部122に記憶された情報を用いて、演算処理を実行する。第1演算部132は、関数情報記憶部122に記憶された関数の情報を用いて、第1変形を実行する。第1演算部132は、受信部131により受信された情報について、第1変形を実行する。
【0173】
第1演算部132は、第1変形により、目的関数からモジュロ2演算を除く。
図1の例では、第1演算部132は、第1変形により、目的関数の形式を式(18)から式(28)に変換し、mod2の演算を除去する。
【0174】
第2演算部133は、各種演算処理を実行する。第2演算部133は、目的関数のイジングモデルの形式への変換に関する処理を実行する。第2演算部133は、第2変形を実行する。第2演算部133は、データ記憶部121や関数情報記憶部122に記憶された情報を用いて、演算処理を実行する。第2演算部133は、関数情報記憶部122に記憶された関数の情報を用いて、第2変形を実行する。第2演算部133は、第1演算部132により第1変形が実行された目的関数について、第2変形を実行する。
【0175】
第2演算部133は、第2変形により、目的関数に含まれる対象に対応する第1変数を、イジングスピンに対応する第2変数に置き換える。第2演算部133は、目的関数に含まれる対象に対応する第1変数を、イジングスピンに対応する第2変数に置き換える第2変形を実行する。第2演算部133は、目的関数に含まれる最適化したい第1変数を、イジングスピンに対応する第2変数に置き換える。
【0176】
図1の例では、第2演算部133は、第2変形により、目的関数の形式を式(28)から式(30)に変換し、対象に対応する第1変数を、イジングスピンに対応する第2変数に置き換える。
【0177】
第3演算部134は、各種演算処理を実行する。第3演算部134は、目的関数のイジングモデルの形式への変換に関する処理を実行する。第3演算部134は、第3変形を実行する。第3演算部134は、データ記憶部121や関数情報記憶部122に記憶された情報を用いて、演算処理を実行する。第3演算部134は、関数情報記憶部122に記憶された関数の情報を用いて、第3変形を実行する。第3演算部134は、第2演算部133により第2変形が実行された目的関数について、第3変形を実行する。第3演算部134は、目的関数に関する第2変数の次数を削減する。
【0178】
第3演算部134は、第3変形により、第2変数の次数を削減する。第3演算部134は、第2変数の次数の削減に応じて目的関数に制約項を追加する第3変形を実行する。第3演算部134は、目的関数の第2変数の次数を2次以下に削減する第3変形により、目的関数をイジングモデルの形式に変換する。第3演算部134は、第2変数の次数を2次に削減する第3変形により、目的関数をイジングモデルの形式に変換する。第3演算部134は、第2変数の次数の削減に応じて第2変数を追加し、目的関数に追加された第2変数に関する制約項を追加する。
【0179】
図1の例では、第3演算部134は、第3変形により、第2変数「σ」の次数を削減する。第3演算部134は、目的関数の形式を式(30)から式(36)に変形する。
【0180】
生成部135は、各種情報を生成する。生成部135は、外部の情報処理装置からの情報や記憶部120に記憶された情報に基づいて、各種情報を生成する。生成部135は、イジングマシン10や送信装置50等の他の情報処理装置からの情報に基づいて、各種情報を生成する。生成部135は、データ記憶部121や関数情報記憶部122に記憶された情報に基づいて、各種情報を生成する。
【0181】
生成部135は、受信部131により取得された各種情報に基づいて、各種情報を生成する。生成部135は、イジングマシン10から取得したイジングマシン10の計算結果を用いて、復号処理を実行し、復号した情報を生成する。
【0182】
生成部135は、符号化の復号に関する対象の目的関数からモジュロ2演算を除き、目的関数に含まれる対象に対応する第1変数を、イジングスピンに対応する第2変数に置き換え、第2変数の次数を削減することにより、イジングモデルの形式に変換された目的関数に基づいて算出されたイジングスピンの値と、イジングスピンをメッセージに変換する関数とを用いて、受信部131により受信された符号語が復号された情報を生成する。
【0183】
図1の例では、生成部135は、式(38)を用いて、取得したイジングスピンの値をメッセージの値へ変換することにより、メッセージを生成(復号)する。
【0184】
送信部136は、外部の情報処理装置へ各種情報を提供する。送信部136は、外部の情報処理装置へ各種情報を送信する。例えば、送信部136は、イジングマシン10や送信装置50等の他の情報処理装置へ各種情報を送信する。送信部136は、記憶部120に記憶された情報を提供する。送信部136は、記憶部120に記憶された情報を送信する。
【0185】
送信部136は、イジングマシン10や送信装置50等の他の情報処理装置からの情報に基づいて、各種情報を提供する。送信部136は、記憶部120に記憶された情報に基づいて、各種情報を提供する。送信部136は、データ記憶部121や関数情報記憶部122に記憶された情報に基づいて、各種情報を提供する。
【0186】
[2-3.イジングマシンの構成]
次に、計算を実行するイジングマシン10の構成について説明する。
図3は、イジングマシンの構成例を示す図である。
【0187】
図3に示すように、イジングマシン10は、通信部11と、記憶部12と、量子デバイス部13と、制御部14とを有する。なお、イジングマシン10は、イジングマシン10の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
【0188】
通信部11は、例えば、NICや通信回路等によって実現される。通信部11は、所定のネットワーク(インターネット等)と有線又は無線で接続され、ネットワークを介して、受信装置100等の他の装置等との間で情報の送受信を行う。
【0189】
記憶部12は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部12は、情報の表示に用いる各種情報を記憶する。
【0190】
量子デバイス部13は、種々の量子計算を実行する。例えば、量子デバイス部13は、量子処理ユニット(QPU:Quantum Processing Unit)により実現される。量子デバイス部13は、例えば、受信装置100等の他の装置から受け付けたイジングモデルのパラメータに基づいて、そのイジングモデルの基底状態を実現する。言い換えれば、量子デバイス部13は、イジングモデルが基底エネルギー状態となる最適スピン配置を実現する。すなわち、量子デバイス部13は、最適化問題を最適化した状態を実現する。
【0191】
量子デバイス部13は、例えば、複数の量子ビットから構成される。量子デバイス部13は、予め絶対零度付近まで冷却される。量子デバイス部13は、量子デバイス部13にイジングモデルのパラメータが入力された後、内部でイジングモデルと横磁場モデル(量子ゆらぎモデル)の比率を時間発展させる。これにより、量子デバイス部13上で、イジングモデルのパラメータに応じた最適なスピン配置が実現する。このように、量子デバイス部13上でイジングモデルの最適なスピン配置が物理的に実現される。そして、量子デバイス部13が測定されることにより、イジングモデルの最適なスピン配置を得ることができる。これにより、量子デバイス部13は、離散最適化問題を最適化することができる。例えば、量子デバイス部13は、二値二次形式の目的関数の最適化問題を最適化することができる。
【0192】
制御部14は、例えば、CPUやMPU等によって、イジングマシン10内部に記憶されたプログラムがRAM等を作業領域として実行されることにより実現される。また、制御部14は、コントローラであり、例えば、ASICやFPGA等の集積回路により実現されてもよい。
【0193】
図3に示すように、制御部14は、取得部141と、計算部142と、送信部143とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部14の内部構成は、
図3に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
【0194】
取得部141は、各種情報を受信する。取得部141は、外部の情報処理装置から各種情報を受信する。取得部141は、受信装置100等の他の情報処理装置から各種情報を受信する。
【0195】
取得部141は、例えば量子デバイス部13を用いた計算を行い、測定するための指示を受信装置100等の他の情報処理装置から受け付ける。取得部141は、イジングモデルのパラメータを量子デバイス部13による計算(測定)の指示として受け付ける。
【0196】
取得部141は、各種の情報を取得する。取得部141は、記憶部12から情報を取得する。取得部141は、受信装置100等の外部の情報処理装置から各種の情報を取得する。取得部141は、入力部により受け付けられた入力情報を取得する。取得部141は、例えば、外部の情報処理装置からイジングモデルのパラメータに関する情報を取得する。取得部141は、計算部142による量子デバイス部13の測定結果(計算結果)を取得する。
【0197】
図1の例では、取得部141は、上記の式(36)のイジングモデルの係数(パラメータ)を受信装置100から受信する。
【0198】
計算部142は、各種計算を実行する。計算部142は、量子デバイス部13を用いた計算を実行する。計算部142は、量子デバイス部13を測定する。計算部142は、イジングモデルの最適スピン配置が実現された量子デバイス部13を測定する。
【0199】
図1の例では、計算部142は、式(36)のイジングモデルの係数(パラメータ)を用いて、計算を実行する。
【0200】
送信部143は、外部の情報処理装置へ各種情報を送信する。例えば、送信部143は、受信装置100等の他の情報処理装置へ各種情報を送信する。送信部143は、記憶部12に記憶された情報を送信する。
【0201】
送信部143は、受信装置100等の他の情報処理装置からの情報に基づいて、各種情報を送信する。送信部143は、記憶部12に記憶された情報に基づいて、各種情報を送信する。
【0202】
送信部143は、計算部142による量子デバイス部13の測定結果を、計算の指示を行った装置に送信する。送信部143は、計算部142による量子デバイス部13の測定結果を、パラメータの送信元に送信する。送信部143は、計算部142による量子デバイス部13の測定結果を、計算の要求元に送信する。送信部143は、計算部142による量子デバイス部13の測定結果を、受信装置100等の他の情報処理装置に送信する。
【0203】
図1の例では、送信部143は、受信装置100から受信したパラメータを用いて計算(測定)したイジングスピンの値を受信装置100へ送信する。送信部143は、計算(測定)されたσ(第2変数)の各要素の値を受信装置100へ送信する。
【0204】
[2-4.第1の実施形態に係る処理の手順]
次に、
図4及び
図5を用いて、第1の実施形態に係る各種処理の手順について説明する。
【0205】
[2-4-1.通信システムに係る復号処理の手順]
まず、
図4を用いて、本開示の第1の実施形態に係る情報処理の流れについて説明する。
図4は、通信システムによる復号処理の手順を示すフローチャートである。
【0206】
図4に示すように、受信装置100は、符号化によりメッセージが符号化された符号語を送信装置から受信する(ステップS101)。受信装置100は、符号化に関する対象の目的関数をイジングモデルの形式に変換する(ステップS102)。受信装置100は、イジングモデルの形式に変換した目的関数のパラメータをイジングマシン10に送信する(ステップS103)。受信装置100は、イジングマシン10から取得したスピン情報を用いて、受信した符号語が復号された情報を生成する(ステップS104)。
【0207】
[2-4-2.受信装置に係る変換処理の手順]
次に、
図5を用いて、本開示の第1の実施形態に係る情報処理の流れについて説明する。
図5は、受信装置による変換処理の手順を示すフローチャートである。
【0208】
図5に示すように、受信装置100は、第1変形により、目的関数からモジュロ2演算を除外する(ステップS201)。受信装置100は、第2変形により、目的関数に含まれる対象に対応する第1変数を、イジングスピンに対応する第2変数に置換する(ステップS202)。受信装置100は、第3変形により、第2変数の次数を削減する(ステップS203)。
【0209】
[2-5.通信システムの構成の一例]
ここで、
図6に示す通信システムの構成について説明する。
図6は、通信システムの構成の一例を示す図である。
【0210】
図6に示す通信システム1では、送信側の装置(送信器)である送信装置50は、符号化器ECや変調器MDといった構成を有する。送信装置50は、符号化器ECや変調器MDを用いて送信メッセージを変換した情報(信号)を、通信路を介して受信側の装置(受信器)である受信装置100へ送信する。受信装置100は、復調器DDや復号器DCといった構成を有し、復調器DDや復号器DCを用いて受信した情報(受信信号)を変換し、送信メッセージを復号する。
図6に示す通信システム1は、イジングマシン10を有する点で、上述した従来の通信システムと相違する。
【0211】
例えば、送信メッセージは、送信装置50から受信装置100へ送信したい情報のビット系列である。送信装置50は、送信メッセージをより冗長な通信路符号のビット列に変換する符号化器ECを有する。送信装置50は、通信路符号を通信路に適した信号に変換する変調器MDを有する。変調器MDは、例えば搬送波上に、通信路符号の信号を重畳する役割を果たす。変調器MDによる処理は、従来の変調器と同様であるため説明を省略する。通信路とは、信号を伝送する媒体である。通信路においては、伝送中にノイズが付加されたり信号が歪むことで、信号の品質が劣化する場合がある。
【0212】
受信装置100は、搬送波上の信号から、通信路符号の信号に変換する復調器DDを有する。復調器DDによる処理は、従来の復調器と同様であるため説明を省略する。受信装置100は、冗長な通信路符号に対応する受信信号から、送信メッセージを再生する復号器DCを有する。上述したように、受信装置100(の復号器DC)は、イジングマシン10に計算を行わせることにより、イジングスピンの値を取得し、取得したイジングスピンの値を用いてメッセージを復号する。
【0213】
[2-5-1.通信システムに係る復号処理の手順]
次に、
図7を用いて、通信システムに係る復号処理の流れについて説明する。
図7は、通信システムによる復号処理の手順を示すフローチャートである。
【0214】
図7に示すように、受信装置100は、受信信号を入力する(ステップS301)。そして、受信装置100は、信号の規格化を実行する(ステップS302)。ここで、信号の規格化は、受信信号rの振幅を「0」から「1」の間程度に収める処理である。ただし、この振幅値は実際にはあまり重要ではない。ポイントは、受信信号rから1/2を減算した、すなわち「r-1/2」としたときの信号のバイアスが正しく除去されて、正負の符号が適切であることである。これは、信号をIIR(Infinite Impulse Response)フィルタなどで平滑化することでオフセット情報を検出して、得られたオフセット情報を除去するように信号にフィードバックする処理などを利用すると実現できる。
【0215】
そして、受信装置100は、イジングマシンに入力する(ステップS303)。例えば、受信装置100は、イジングモデルの形式に変換した目的関数のパラメータ等をイジングマシンに入力する。イジングマシンへの入力は、前述の目的関数と、次数削減による制約項で計算される二次形式のエネルギー関数のパラメータを入力する。この入力は、イジングマシン10をサーバ側、例えばクラウド形式で利用する場合では、通信を介して行う。また、イジングマシン10をエッジ側で利用できる場合、イジングマシン10にパラメータを直接入力してもよい。
【0216】
そして、受信装置100は、最適なメッセージ列を獲得する(ステップS304)。例えば、受信装置100は、上記の式(38)を用いることで、最適メッセージ列を獲得できる。ここで、イジングマシン10からの出力は、メッセージのビット列に対応するスピンと、次数削減のスピンである。これらの情報は分離されて獲得できるので、メッセージのビット列に対応するスピンから、ビット列を求める。
【0217】
[3.第2の実施形態]
上述した例では、イジングスピンをメッセージに変換し、イジングスピンからメッセージを生成する場合を示したが、イジングスピンから生成する情報は上記に限らず、種々の情報であってもよい。例えば、イジングスピンを符号語に変換し、イジングスピンから符号語を生成してもよい。この点について以下説明する。第2の実施形態に係る通信システム1は、受信装置100に代えて受信装置100Aを含む。なお、第1の実施形態に係る受信装置100と同様の点については、適宜説明を省略する。
【0218】
[3-1.第2の実施形態に係る変換処理]
ここから、第2の実施形態に係る変換処理について説明する。なお、第1の実施形態に係る変換処理と同様の点については、適宜説明を省略する。
【0219】
[3-1-1.最尤復号の定式化]
第2の実施形態では、生成行列ではなくパリティ検査行列を用いる変換処理(定式化)を行う。具体的には、上記の式(17)の最尤復号に、パリティ検査行列の制約を制約項として加えた以下の式(40)を用いる。
【0220】
【0221】
ここで、式(40)に示す最適化の目的関数の右辺の第一項は最尤復号を表し、右辺の第二項はパリティ検査行列による制約項である。hkiは、上記の式(4)で表されるパリティ検査行列のk行i列の要素(ki成分)である。また、λは正のパラメータである。パラメータλは、パリティ検査ビットそれぞれに独立のパラメータを設定してもよいが、ここでは、同一のパラメータとした場合を示す。式(40)は、式(17)と等価ではない。しかし、xがパリティ検査の条件を満たすことで、第二項が「0」になっていれば、式(17)と同じ最適化が得られる。
【0222】
そこで、パラメータλを、第二項を優先的に最適化するように、大きめな値、例えば、「6」以上の値に設定する。あるいは、ラグランジュ未定乗数法を模して、制約項が「0」になるまで、以下の式(41)のようにパラメータλを、勾配法的に大きくしていく。
【0223】
【0224】
ここで、γは正の小さい値で、勾配法の更新パラメータである。このようにすることで、式(40)の最適化の解を式(17)の最適化と同一の解にすることができる。
【0225】
そこで、受信装置100Aは、以下に示すような第1変形~第3変形を含む変形処理を目的関数である式(40)に行うことにより、mod2を除去し、目的関数をイジングモデルの形式に変換する。
【0226】
[3-1-2.第1変形(mod2演算の除去)]
まず、受信装置100Aは、第1変形により、mod2の演算を除去する。式(40)の最適化の目的関数はモジュロ2(mod2)の演算を含んでいる。そのため、受信装置100Aは、上記の式(19)を使って、mod2の演算を除去する。これにより、式(40)の右辺の第二項のパラメータλ以外の部分は以下の式(42)のように変換することができる。
【0227】
【0228】
このように、式(42)の右辺はmod2演算を含まない。受信装置100Aは、式(40)の右辺の第二項のパラメータλ以外の部分を式(42)の右辺に変換することにより、mod2の演算を除去する。
【0229】
[3-1-3.第2変形(イジングスピンへの置換)]
次に、受信装置100Aは、第2変形により、イジングスピンへの置換を行う。受信装置100Aは、変換式「σi=1-2xi」を用いて、イジングスピンに置き換える。例えば、受信装置100Aは、符号語に対応する第1変数「x」をイジングスピンに対応する第2変数「σ」に置き換える。受信装置100Aは、変換式「σi=1-2xi」を用いて、式(40)を、以下の式(43)に変形する。例えば、受信装置100Aは、式(40)の右辺の第二項のパラメータλ以外の部分を式(42)の右辺に変換した式を、変換式「σi=1-2xi」を用いて以下の式(43)に変形する。
【0230】
【0231】
式(43)を整理すると、以下の式(44)を得る。
【0232】
【0233】
ここで、Nkは、検査行列のk行中の「1」の個数である。また、kmは検査行列のk行中で左からm番目に「1」が現れる列のインデックス番号である。
【0234】
このように、式(44)は符号語に対応する第1変数「xi」がイジングスピンに対応する第2変数「σi」に置き換えられている。受信装置100Aは、第2変形により、目的関数の形式を式(40)から式(44)に変換し、対象に対応する第1変数を、イジングスピンに対応する第2変数に置き換える。
【0235】
[3-1-4.第3変形(次数削減)]
この組合せ最適化はσに関してNk次元であるが、第1の実施形態に示した次元削減の方法で二次元まで削減できる。例えば、k番目の検査ビットに関するNk次元の総乗の項について、以下の式(45)、(45-2)、(45-3)、(45-4)ように順次新しいスピンσpm(m=2…Nk)を導入して、総乗の次元を削減していく。
【0236】
【0237】
式(45-2)は、式(45)から次数を1削減した場合を示す。具体的には、式(345-2)は、σk1とσk2との積をσp2とすることにより、式(45)から第2変数「σ」の次数を1削減した場合を示す。このようにすると最適化の式(44)の次元は、以下の式(46)に示すように一次元まで削減できる。
【0238】
【0239】
ただし、新しく導入したスピンはそれぞれ上記の式(31)と類似の以下の式(47)や式(48)に示すような二次式の制約を満たす。
【0240】
【0241】
【0242】
この制約を満たすように、最適化の式(44)をラグランジェ未定乗数の形式に変形すると、以下の式(49)のようになる。
【0243】
【0244】
ここでは制約式はどれも「0」以上の値しかとらないので、同じ未定乗数λを使う場合を示す。式(49)は、スピンに関して二次までの項で書かれ、イジングマシンで最適化が可能である。このように、受信装置100Aは、最尤復号の目的関数の式(40)をイジングモデルの形式、すなわちイジングモデルのハミルトニアンに対応する式(49)に変形する。なお、パリティ検査の制約を確実に満たすようにするため、以下の式(50)のようにパラメータλを更新するようにしてもよい。
【0245】
【0246】
第二項が「0」になった時点でパリティ検査の制約を満たすので、パラメータλの更新を終了する。以上により、最尤復号の目的関数と等価な、イジングモデルのエネルギー関数(ハミルトニアン)を導出できる。
【0247】
[3-1-5.最適化]
そして、最適化は、このイジングモデルの一次、二次のスピンの係数(パラメータ)を、コンピュータプログラムなどを経由して算出する。例えば、受信装置100Aは、式(49)の一次、二次のスピンの係数(パラメータ)を算出する。
【0248】
次に、得られた係数(パラメータ)を、イジングマシン10に与えて、アニーリングの計算に必要なパラメータの設定を行う。例えば、受信装置100Aは、上記の変形処理により導出した式(49)のイジングモデルの係数(パラメータ)をイジングマシン10に送信する。
【0249】
パラメータの設定が終わったら、イジングマシン10は、アニーリングの処理を行う。そして、アニーリング後のスピンの配置を再びコンピュータプログラムで処理して符号語のビット列を獲得する。
【0250】
例えば、受信装置100Aから式(49)のイジングモデルの係数(パラメータ)を取得したイジングマシン10は、計算を実行し、その結果を受信装置100Aへ送信する。イジングマシン10は、計算(測定)したイジングスピンの値を受信装置100Aへ送信する。イジングマシン10は、計算(測定)したσの各要素の値を受信装置100Aへ送信する。
【0251】
そして、受信装置100Aは、以下のような式(51)を用いて、取得したイジングスピンの値を符号語の値へ変換することにより、符号語を復元する。
【0252】
【0253】
式(51)は、符号語xのi番目の要素xiを生成する式を一例として示す。要素xiは、対応するi番目のイジングスピンσiを「1」から減算し、1/2を乗算した値となる。例えば、イジングスピンσiの値が「-1」である場合、要素xiは、「1(=1/2(1-(-1)))」となる。例えば、イジングスピンσiの値が「1」である場合、要素xiは、「0(=1/2(1-1))」となる。このように、受信装置100Aは、その結果として得られるイジングスピンから符号語を復元することができる。なお、符号語xのi番目以外の他の要素についても同様に処理することにより、受信装置100Aは、符号語を復号する。
【0254】
符号化は組織符号で構成されている場合、受信装置100Aは、最尤復号した式(51)の符号語の先頭からメッセージ長分だけを切り出した符号列をメッセージとして用いることができる。これにより、受信装置100Aは、メッセージを生成(復号)する。以上により、受信装置100Aは、最適メッセージ列を獲得できる。
【0255】
[3-1-6.まとめ等]
以上をまとめると第2の実施形態に係る最尤復号は、以下の手続きによりイジングモデルで定式化できる。
【0256】
例えば、制約項を用いたイジングモデルの定式化は、式(40)により定式化できる。
【0257】
例えば、最尤復号中のmod2の除去は、式(42)により定式化できる。例えば、変換方法の第1変形は、式(42)により実現される。
【0258】
また、例えば、情報ビットのスピンによる表現は、式(44)により定式化できる。すなわち、変換方法の第2変形は、式(44)により実現される。
【0259】
また、例えば、スピン次元の削減に伴う制約項は、式(46)により定式化できる。すなわち、変換方法の第3変形は、式(46)により実現される。
【0260】
また、例えば、追加制約項を用いたイジングモデルの再定式化は、式(49)により定式化できる。すなわち、変換方法の第3変形は、式(49)により実現される。
【0261】
上記のように、受信装置100Aは、イジングモデルをイジングマシン10に与えることで最適スピン配置を獲得し、得られたスピン配置から情報ビットを獲得する。
【0262】
また、例えば、上述した処理をプログラムとして表現する場合、数39で表したプログラムと同様に、スピン次元の削減と制約項の導出、および、制約項を用いたイジングモデルの定式化がプログラムとして記述できる。
【0263】
[3-2.第2の実施形態に係る受信装置の構成]
上記のように、変換装置である受信装置100Aは、符号化復号に関する組合せ最適化の目的関数をイジングモデルの形式に変換する。受信装置100Aは、メッセージが符号化により符号化された符号語を構成する変数の目的関数をイジングモデルの形式に変換する。受信装置100Aは、検査行列に対応する符号語を構成する変数を用いた制約項を含む目的関数をイジングモデルの形式に変換する。
【0264】
第2の実施形態に係る処理を実行する変換装置の一例である受信装置100Aの構成について説明する。
図11は、本開示の第2の実施形態に係る受信装置の構成例を示す図である。
【0265】
図11に示すように、受信装置100Aは、通信部110と、記憶部120Aと、制御部130Aとを有する。なお、受信装置100Aは、受信装置100Aの管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
【0266】
記憶部120Aは、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。第2の実施形態に係る記憶部120Aは、
図11に示すように、データ記憶部121と、関数情報記憶部122Aとを有する。
【0267】
関数情報記憶部122Aは、図示を省略するが各種の関数の情報を記憶する。例えば、関数情報記憶部122Aは、変換処理や生成処理に用いる各種の関数の情報を記憶する。例えば、関数情報記憶部122Aは、上述した式(1)~(51)のうち処理に用いる関数の情報を記憶する。なお、記憶部120Aは、上記に限らず、目的に応じて種々の情報を記憶してもよい。
【0268】
制御部130Aは、例えば、CPUやMPU等によって、受信装置100A内部に記憶されたプログラム(例えば、本開示に係る変換処理プログラム等)がRAM等を作業領域として実行されることにより実現される。また、制御部130Aは、例えば、ASICやFPGA等の集積回路により実現される。
【0269】
図11に示すように、制御部130Aは、受信部131と、第1演算部132Aと、第2演算部133Aと、第3演算部134Aと、生成部135Aと、送信部136とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130Aの内部構成は、
図11に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部130Aが有する各処理部の接続関係は、
図11に示した接続関係に限られず、他の接続関係であってもよい。
【0270】
第1演算部132Aは、第1演算部132と同様に各種演算処理を実行する。第1演算部132Aは、第1変形により、式(40)の右辺の第二項のパラメータλ以外の部分を式(42)の右辺に変換することにより、mod2の演算を除去する。
【0271】
第2演算部133Aは、第2演算部133と同様に各種演算処理を実行する。第2演算部133Aは、第2変形により、目的関数の形式を式(40)から式(44)に変換し、対象に対応する第1変数を、イジングスピンに対応する第2変数に置き換える。
【0272】
第3演算部134Aは、第3演算部134と同様に各種演算処理を実行する。第3演算部134Aは、第3変形により、第2変数「σ」の次数を削減する。第3演算部134Aは、目的関数の形式を式(44)から式(49)に変形する。
【0273】
生成部135Aは、生成部135と同様に各種情報を生成する。生成部135Aは、式(51)を用いて、取得したイジングスピンの値を符号語の値へ変換することにより、符号語を生成する。そして、生成部135Aは、式(51)により生成した符号語の先頭からメッセージ長分だけを切り出すことにより、メッセージを復元する。
【0274】
[4.第3の実施形態]
[4-1.本開示の第3の実施形態に係る通信システムによる処理の概要]
なお、変換処理は上記に限らず、符号化において行われてもよい。この点について、
図12~
図15を用いて説明する。
図12は、本開示の第3の実施形態に係る通信システムによる処理の一例を示す図である。本開示の第3の実施形態に係る変換処理は、
図13に示す変換装置の一例である送信装置200によって実現される。なお、送信装置200は、情報の送信のみに限らず、他の装置との間で通信を行い、情報を送受信する通信装置であってもよく、この場合、送信装置200は、他の装置に情報を送信する受信装置として機能する。
【0275】
また、第3の実施形態の説明では、第1の実施形態や第2の実施形態と同様の点については、適宜説明を省略する。例えば、第3の実施形態に係る受信装置100や受信装置100側の処理は、第1の実施形態に係る受信装置100や受信装置100側の処理と同様のため定義説明を省略する。
【0276】
[4-1-1.通信システムの構成概要]
まず、
図12に示す通信システム2の構成について説明する。
図12には、第3の実施形態に係る通信システム2の構成例を示す。
図12に示すように、通信システム2は、イジングマシン10-1と、イジングマシン10-2と、送信装置200と、受信装置100とが含まれる。送信装置200は、送信側の装置(送信器)に対応し、受信装置100は、受信側の装置(受信器)に対応する。
図12の例では、送信側の装置(送信器)である送信装置200での情報の符号化、及び受信側の装置(受信器)である受信装置100での情報の復号にイジングモデルが利用される場合を示す。また、イジングマシン10-1、イジングマシン10-2等について、特に区別せずに説明する場合は、イジングマシン10と記載する。なお、
図12に示した通信システム2には、3台以上のイジングマシン10や、複数台の送信装置200や、複数台の受信装置100が含まれてもよい。
【0277】
送信装置200と、受信装置100とは所定のネットワーク(通信網)を介して、有線または無線により通信可能に接続される。送信装置200は、所定のネットワークによる通信路を介して受信装置100に情報(信号)を送信する。また、イジングマシン10と、受信装置100とは所定のネットワーク(通信網)を介して、有線または無線により通信可能に接続される。
【0278】
イジングマシン10は、イジングモデルを用いるコンピュータ(計算機)である。イジングマシン10は、イジングモデルを用いて、組合せ最適化問題を解くコンピュータである。
図12の例では、イジングマシン10は、量子アニーリングを用いて問題を解く量子コンピュータ(量子計算機)である。イジングマシン10は、量子アニーリング方式や量子アニーラにより実現することができる。なお、イジングマシン10は、いわゆる量子コンピュータに限らず、イジングモデルを用いるコンピュータであれば、例えばCMOS(Complementary metal-oxide-semiconductor)等を用いたイジング計算器等であってもよい。例えば、イジングマシン10は、GPU(Graphics Processing Unit)等のプロセッサやFPGA(Field Programmable Gate Array)等の集積回路を用いたイジング計算器等であってもよい。
【0279】
送信装置200は、送信装置50と同様に情報を他の装置への送信する送信側の装置(送信器)である。
【0280】
変換装置である送信装置200は、符号化に関する対象の目的関数をイジングモデルの形式に変換する。送信装置200は符号に関する対象の目的関数をイジングモデルの形式に変換する。送信装置200は、通信路符号化に関する目的関数をイジングモデルの形式に変換する。送信装置200は、符号化に用いる目的関数をイジングモデルの形式に変換する。
【0281】
送信装置200は、通信装置が他の通信装置へ送信する符号化に関する処理に用いられる目的関数をイジングモデルの形式に変換する。送信装置200は、符号化に用いる生成行列である対象の目的関数をイジングモデルの形式に変換する。
【0282】
送信装置200は、イジングマシン10に計算の実行を指示する。送信装置200は、イジングマシン10にイジングモデルのパラメータを送信する。送信装置200は、イジングマシン10にイジングモデルのパラメータを送信することにより、イジングマシン10に計算の実行を指示する。送信装置200は、イジングマシン10の計算結果を取得する。送信装置200は、イジングマシン10からイジングマシン10の計算結果を受信する。送信装置200は、イジングマシン10から取得したイジングマシン10の計算結果を用いて、生成行列を生成する。
【0283】
[4-1-2.通信システムの処理概要]
ここで、
図12を参照しつつ通信システム2の処理の概要を説明する。
図12の例では、送信装置200から受信装置100へ情報(データ)を送信する場合を一例として示す。
【0284】
送信装置200は、符号化に関する目的関数をイジングマシン10が計算可能な形式に変換する(ステップS21)。送信装置200は、目的関数をイジングモデルの形式に変換するための変換処理を行う。送信装置200は、符号化に関する対象の目的関数からモジュロ2演算を除き、目的関数に含まれる対象に対応する第1変数を、イジングスピンに対応する第2変数に置き換え、第2変数の次数を削減することで、目的関数をイジングモデルの形式に変換する。なお、この変換処理の詳細は[4-1-3.変換処理]で後述する。また、
図12の例では、説明を簡潔にするために、送信装置200が情報を送信するタイミングで変換処理を行う場合を示したが、変換処理のうち送信するタイミングよりも前に実行可能な処理は予め行われてもよいし、送信装置200以外の他の変換装置により行われてもよい。例えば、第1変数は、符号化に用いる生成行列を構成する要素である。
【0285】
そして、送信装置200は、イジングモデルの形式に変換後の目的関数の情報を用いて、イジングマシン10に計算の実行を指示する(ステップS22)。送信装置200は、イジングマシン10にイジングモデルのパラメータを送信する。送信装置200は、イジングマシン10にイジングモデルの形式に変換後の目的関数のパラメータを送信することにより、イジングマシン10に計算の実行を指示する。
【0286】
そして、送信装置200からパラメータを取得したイジングマシン10は、計算を実行する(ステップS23)。例えば、イジングマシン10は、量子アニーリング等の技術により目的関数を最小化する組合せ最適化問題の解を求める。
【0287】
そして、イジングマシン10は、計算結果(測定結果)を送信装置200へ送信する(ステップS24)。これにより、送信装置200は、イジングマシン10の計算結果を取得する。
【0288】
そして、送信装置200は、イジングマシン10から取得したイジングマシン10の計算結果を用いて、情報を生成する。例えば、送信装置200は、イジングマシン10から取得したイジングマシン10の計算結果を用いて、符号化に用いる生成行列Gの各要素を生成する。そして、送信装置200は、生成した生成行列Gを用いてメッセージ(メッセージMX)を符号化する。送信装置200は、メッセージMXを符号化した符号語(符号語CT)を生成する。
【0289】
そして、送信装置200は、符号語CTを受信装置100へ通信路を介して送信する(ステップS25)。なお、ステップS25以降の受信装置100側のステップS26~S30の処理は、
図1中のステップS3~S7の処理と同様であるため、説明を省略する。
【0290】
上記のように、送信装置200は、目的関数をイジングモデルの形式に変換するための変換処理を行い、目的関数をイジングマシン10が計算可能な形式に変換する。このように、通信システム2は、符号化に関する処理にイジングモデルを適用可能にすることができる。これにより、通信システム2は、イジングマシン10を用いることで高速に符号化を行うことが可能となる。
【0291】
[4-1-3.変換処理]
ここから、変換方法について説明する。
【0292】
[4-1-3-1.定式化]
例えば、第1の実施形態のようにパリティ検査行列を使う必要がなくなった場合、符号化は生成行列だけで定義することが可能になる。
【0293】
また、上述のように生成行列は、「0」か「1」の要素だけで構成される行列である。この生成行列の「0」か「1」を組合せ最適化問題としてとらえることができる。目的関数として、たとえば、生成される符号の符号間距離の分散と、平均値あるいは最小距離や限界距離を設定する。
【0294】
ここで、符号語x,x’の符号間距離D(x,x’)は、以下の式(52)のように表される。また、式(52)は、式(52-2)~式(52-4)のように変形することができる。
【0295】
【0296】
[4-1-3-2.第1変形(mod2演算の除去)]
ここで、djは以下の式(53)ように定義する。
【0297】
【0298】
djは、mjとm’jが異なる場合のみ「1」でそれ以外は「0」である。このように、djは、「0」か「1」しかとらないので、mod2を総乗に変形する上述の式(30)が成り立つ。つまり、符号間距離は以下の式(54)のように計算できる。
【0299】
【0300】
このように、式(54)はmod2演算を含まない。送信装置200は、第1変形により、目的関数の形式を式(52)から式(54)に変換し、mod2の演算を除去する。
【0301】
[4-1-3-3.第2変形(イジングスピンへの置換)]
そして、変換式「σij=1-2gij」を用いて、生成行列の成分をイジングスピンに置き換える。送信装置200は、変換式「σij=1-2gij」を用いて、式(54)を、以下の式(55)に変形する。
【0302】
【0303】
このように、式(55)は生成行列に対応する第1変数「gij」をイジングスピンに対応する第2変数「σij」に置き換えられている。送信装置200は、第2変形により、目的関数の形式を式(54)から式(55)に変換し、対象に対応する第1変数を、イジングスピンに対応する第2変数に置き換える。
【0304】
[4-1-3-4.第3変形(次数削減)]
djは「0」か「1」しかとらないので、以下の式(56)のように変形できる。
【0305】
【0306】
ただし、Djは、dj中の「1」の成分の個数であり、jkはdj中でk番目に「1」になる成分のインデックスである。D(x,x’)は、σに関して二次以上になりうるが、この次数を削減は、第1の実施形態における復号の際の手法と同様に行う。これにより、平均μと分散σ2は以下の式(57)及び式(58)のように計算できる。
【0307】
【0308】
【0309】
例えば、式(57)中のEd~p(d)[D(x,x’)]は、平均μに対応する。例えば、式(57)中の平均を示すEd~p(d)[D(x,x’)]を大きくすることにより、平均的な符号間距離を遠ざける効果が得られる。また、例えば、式(58)中のVd~p(d)[D(x,x’)]は、分散σ2に対応する。例えば、分散を示す式(58)中のVd~p(d)[D(x,x’)]を小さくすることで、符号間距離のばらつきを減らし、最小符号間距離を大きくする効果が得られる。このような式(57)及び式(58)を用いて、目的関数は、例えば、式(57)及び式(58)を組み合わせて、以下の式(59)のように変形できる。例えば、式(59)のα、β、γはパラメータである。このように、送信装置200は、目的関数をイジングモデルの形式に変形する。
【0310】
【0311】
期待値の計算は、理想的には、可能なすべての系列dに関して行うことが望ましい。しかし、全ての組合せを算出するのは困難であるから、一定のルールに従ってサンプリングして行う。たとえば、dを長さMで、「1」がD個あるビット系列とする。このような組合わせは、MCD通りあるが、全ての組合せを用いてもよいし、サンプリングを用いてもよい。以上のように、サンプリングと、mod2の除去、および、次数削減により書き下した目的関数は、生成行列の要素に関して高々二次式になる。
【0312】
[4-1-3-5.最適化]
そして、式(59)のような二次形式のパラメータをイジングマシン10に入力する。イジングマシン10では、符号間距離を大きくするような生成行列要素に対応するスピン値が計算される。得られたスピン値から、「0」か「1」で表される生成行列の要素を算出する。
【0313】
例えば、送信装置200は、上記の変形処理により導出した式(59)のイジングモデルの係数(パラメータ)をイジングマシン10に送信する。
【0314】
そして、送信装置200から式(59)のイジングモデルの係数(パラメータ)を取得したイジングマシン10は、計算を実行し、その結果を送信装置200へ送信する。イジングマシン10は、計算(測定)したイジングスピンの値を送信装置200へ送信する。イジングマシン10は、計算(測定)したσの各要素の値を送信装置200へ送信する。
【0315】
そして、送信装置200は、以下のような式(60)を用いて、取得したイジングスピンの値を生成行列の値へ変換することにより、生成行列Gを生成する。
【0316】
【0317】
式(60)は、生成行列Gのi行j列の要素gijを生成する式を一例として示す。要素gijは、対応するi-j番目のイジングスピンσijを「1」から減算し、1/2を乗算した値となる。例えば、イジングスピンσijの値が「-1」である場合、要素gijは、「1(=1/2(1-(-1)))」となる。例えば、イジングスピンσijの値が「1」である場合、要素gijは、「0(=1/2(1-1))」となる。このように、送信装置200は、その結果として得られるイジングスピンから生成行列Gの各要素を生成することができる。なお、生成行列Gのi行j列以外の他の要素についても同様に処理することにより、送信装置200は、生成行列Gを生成する。以上により、送信装置200は、最適メッセージ列を獲得できる。以上により、送信装置200は、最適化された生成行列の要素を獲得できる。
【0318】
[4-2.第3の実施形態に係る送信装置の構成]
次に、第3の実施形態に係る処理を実行する変換装置の一例である送信装置200の構成について説明する。
図13は、本開示の第3の実施形態に係る送信装置の構成例を示す図である。
【0319】
図13に示すように、送信装置200は、通信部210と、記憶部220と、制御部230とを有する。なお、送信装置200は、送信装置200の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
【0320】
通信部210は、例えば、NIC等によって実現される。そして、通信部210は、所定のネットワーク(図示省略)と有線または無線で接続され、イジングマシン10や受信装置100等の他の情報処理装置との間で情報の送受信を行う。また、通信部210は、ユーザが利用するユーザ端末(図示省略)との間で情報の送受信を行ってもよい。
【0321】
記憶部220は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。第3の実施形態に係る記憶部220は、
図13に示すように、データ記憶部221と、関数情報記憶部222とを有する。
【0322】
データ記憶部221は、図示を省略するが各種データを記憶する。データ記憶部221は、他の装置から受信したデータや復号したデータなどの各種データを記憶する。関数情報記憶部222は、図示を省略するが各種の関数の情報を記憶する。例えば、関数情報記憶部222は、変換処理や生成処理に用いる各種の関数の情報を記憶する。例えば、関数情報記憶部222は、上述した式(1)~(60)のうち処理に用いる関数の情報を記憶する。なお、記憶部220は、上記に限らず、目的に応じて種々の情報を記憶してもよい。
【0323】
制御部230は、例えば、CPUやMPU等によって、送信装置200内部に記憶されたプログラム(例えば、本開示に係る変換処理プログラム等)がRAM等を作業領域として実行されることにより実現される。また、制御部230は、例えば、ASICやFPGA等の集積回路により実現される。
【0324】
図13に示すように、制御部230は、受信部231と、第1演算部232と、第2演算部233と、第3演算部234と、生成部235と、送信部236とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部230の内部構成は、
図13に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部230が有する各処理部の接続関係は、
図13に示した接続関係に限られず、他の接続関係であってもよい。
【0325】
受信部231は、各種情報を受信する。受信部231は、外部の情報処理装置から各種情報を受信する。受信部231は、イジングマシン10から各種情報を受信する。
【0326】
受信部231は、記憶部220から各種情報を取得する。受信部231は、データ記憶部221や関数情報記憶部222から各種情報を取得する。
【0327】
第1演算部232は、各種演算処理を実行する。第1演算部232は、目的関数のイジングモデルの形式への変換に関する処理を実行する。第1演算部232は、第1変形を実行する。第1演算部232は、データ記憶部221や関数情報記憶部222に記憶された情報を用いて、演算処理を実行する。第1演算部232は、関数情報記憶部222に記憶された関数の情報を用いて、第1変形を実行する。第1演算部232は、受信部231により受信された情報について、第1変形を実行する。
【0328】
第1演算部232は、第1変形により、目的関数からモジュロ2演算を除く。第1演算部232は、第1変形により、目的関数の形式を式(52)から式(54)に変換し、mod2の演算を除去する。
【0329】
第2演算部233は、各種演算処理を実行する。第2演算部233は、目的関数のイジングモデルの形式への変換に関する処理を実行する。第2演算部233は、第2変形を実行する。第2演算部233は、データ記憶部221や関数情報記憶部222に記憶された情報を用いて、演算処理を実行する。第2演算部233は、関数情報記憶部222に記憶された関数の情報を用いて、第2変形を実行する。第2演算部233は、第1演算部232により第1変形が実行された目的関数について、第2変形を実行する。
【0330】
第2演算部233は、第2変形により、目的関数に含まれる対象に対応する第1変数を、イジングスピンに対応する第2変数に置き換える。第2演算部233は、目的関数に含まれる対象に対応する第1変数を、イジングスピンに対応する第2変数に置き換える第2変形を実行する。第2演算部233は、第2変形により、目的関数の形式を式(54)から式(55)に変換し、対象に対応する第1変数を、イジングスピンに対応する第2変数に置き換える。
【0331】
第3演算部234は、各種演算処理を実行する。第3演算部234は、目的関数のイジングモデルの形式への変換に関する処理を実行する。第3演算部234は、第3変形を実行する。第3演算部234は、データ記憶部221や関数情報記憶部222に記憶された情報を用いて、演算処理を実行する。第3演算部234は、関数情報記憶部222に記憶された関数の情報を用いて、第3変形を実行する。第3演算部234は、第2演算部233により第2変形が実行された目的関数について、第3変形を実行する。
【0332】
第3演算部234は、第3変形により、第2変数の次数を削減する。第3演算部234は、第2変数の次数の削減に応じて目的関数に制約項を追加する第3変形を実行する。第3演算部234は、第2変数の次数を2次に削減する第3変形により、目的関数をイジングモデルの形式に変換する。
【0333】
図12の例では、第3演算部234は、第3変形により、第2変数「σ」の次数を削減する。第3演算部234は、目的関数の形式を式(52)から式(59)に変形する。
【0334】
生成部235は、各種情報を生成する。生成部235は、外部の情報処理装置からの情報や記憶部220に記憶された情報に基づいて、各種情報を生成する。生成部235は、イジングマシン10や送信装置200等の他の情報処理装置からの情報に基づいて、各種情報を生成する。生成部235は、データ記憶部221や関数情報記憶部222に記憶された情報に基づいて、各種情報を生成する。
【0335】
生成部235は、受信部231により取得された各種情報に基づいて、各種情報を生成する。生成部235は、イジングマシン10から取得したイジングマシン10の計算結果を用いて、復号処理を実行し、復号した情報を生成する。
【0336】
生成部235は、符号化の復号に関する対象の目的関数からモジュロ2演算を除き、目的関数に含まれる対象に対応する第1変数を、イジングスピンに対応する第2変数に置き換え、第2変数の次数を削減することにより、イジングモデルの形式に変換された目的関数に基づいて算出されたイジングスピンの値と、イジングスピンをメッセージに変換する関数とを用いて、受信部231により受信された符号語が復号された情報を生成する。
【0337】
例えば、生成部235は、式(57)及び式(58)を組み合わせて、目的関数をイジングモデルの形式の式(59)に変形する。
【0338】
送信部236は、外部の情報処理装置へ各種情報を提供する。送信部236は、外部の情報処理装置へ各種情報を送信する。例えば、送信部236は、イジングマシン10や送信装置200等の他の情報処理装置へ各種情報を送信する。送信部236は、記憶部220に記憶された情報を提供する。送信部236は、記憶部220に記憶された情報を送信する。
【0339】
送信部236は、イジングマシン10や受信装置100等の他の情報処理装置からの情報に基づいて、各種情報を提供する。送信部236は、記憶部220に記憶された情報に基づいて、各種情報を提供する。送信部236は、データ記憶部221や関数情報記憶部222に記憶された情報に基づいて、各種情報を提供する。送信部236は、生成部235により生成された符号語を受信装置100に送信する。
【0340】
第3の実施形態に係るイジングマシン10の取得部141は、受信装置100や送信装置200等の他の情報処理装置から各種情報を受信する。例えば、取得部141は、上記の式(59)のイジングモデルの係数(パラメータ)を送信装置200から受信する。
【0341】
第3の実施形態に係るイジングマシン10の送信部143は、受信装置100や送信装置200等の他の情報処理装置へ各種情報を送信する。送信部143は、受信装置100や送信装置200等の他の情報処理装置からの情報に基づいて、各種情報を送信する。送信部143は、計算部142による量子デバイス部13の測定結果を、受信装置100や送信装置200等の他の情報処理装置に送信する。例えば、送信部143は、送信装置200から受信したパラメータを用いて計算(測定)したイジングスピンの値を受信装置100へ送信する。送信部143は、計算(測定)されたσの各要素の値を送信装置200へ送信する。
【0342】
[4-3.通信システムの構成の一例]
ここで、
図14に示す通信システムの構成について説明する。
図14は、通信システムの構成の一例を示す図である。
図14に示す通信システム2の構成は、送信側にイジングマシン10を有する点で、
図6の通信システム1と相違する。なお、
図6と同様の点については説明を省略する。
【0343】
図14に示す通信システム2では、送信側の装置(送信器)である送信装置200は、符号化器EC2や変調器MDといった構成を有する。上述したように、送信装置200(の符号化器EC2)は、イジングマシン10に計算を行わせることにより、イジングスピンの値を取得し、取得したイジングスピンの値を用いて生成行列を獲得し、獲得して生成行列を用いてメッセージから符号語を生成する。送信装置200は、符号化器EC2や変調器MDを用いて送信メッセージを変換した情報(信号)を、通信路を介して受信側の装置(受信器)である受信装置100へ送信する。
【0344】
[4-3-1.通信システムに係る符号化処理の手順]
次に、
図15を用いて、通信システムに係る復号処理の流れについて説明する。
図15は、通信システムによる復号処理の手順を示すフローチャートである。
【0345】
図15に示すように、送信装置200は、メッセージ長と符号長を入力する(ステップS401)。そして、送信装置200は、メッセージのサンプルを生成する(ステップS402)。メッセージのサンプルは、イジングモデルのパラメータの算出を端折る場合に使う。もし、イジングモデルのパラメータが容易に解析的に算出できるならば、この処理は不要である。
【0346】
そして、送信装置200は、イジングマシン10に入力する(ステップS403)。例えば、送信装置200は、パラメータ等をイジングマシン10に入力する。イジングマシン10には、生成行列を最適化する目的関数と次数削減のための制約項を考慮した二次形式のエネルギーのパラメータが入力される。
【0347】
そして、送信装置200は、生成行列を獲得する(ステップS404)。そして、送信装置200は、生成行列から符号語を獲得する(ステップS405)。イジングマシン10におけるアニーリングの処理を経て、最適な行列要素が一つ得られる。この要素は、イジングマシンからは「-1」、「1」の値で得られるので、「0」、「1」の値に変換して生成行列の要素とする。最後にこのようにして得られた生成行列から符号語を獲得する。
【0348】
[5.その他の構成例等]
上述した実施形態や変形例に係る処理は、上記実施形態や変形例以外にも種々の異なる形態(変形例)にて実施されてよい。
【0349】
[5-1.その他の構成例]
なお、上記の例では、受信装置100、100Aや送信装置200と、イジングマシン10とが別体である場合を示したが、受信装置100、100Aとイジングマシン10とは一体であってもよいし、送信装置200とイジングマシン10とは一体であってもよい。例えば、イジングマシン10が超伝導を使わずデジタル回路で実現された場合、イジングマシン10はエッジ側に配置されてもよい。例えば、イジングモデルを用いた計算がエッジ側で行われる場合、受信装置100、100Aとイジングマシン10とが一体であってもよく、受信装置100、100Aとイジングマシン10とが一体であってもよい。
【0350】
[5-2.従来との比較]
ここで、従来と本開示との比較を簡単に説明する。
【0351】
[5-2-1.符号化方法の探索の高速化]
まず、符号化方法の探索の高速化について説明する。
【0352】
従来は、良い符号化方法の探索は以下のような手続きを経て行われていた。この場合、疎な行列であるという制約条件下で、ランダムに検査行列を作る。また、検査行列からタナーグラフのループを回避するように修正する。また、検査行列から、生成行列を構築する。また、従来は、以下の手順で通信状態をシミュレーションして精度評価する。
【0353】
まず、ランダムにメッセージを生成する。そして、生成行列を用いて送信ビット列を生成する。そして、送信ビット列に(白色ガウス)ノイズを加えて、受信ビット列を生成する。そして、受信ビット列からメッセージを推定する。そして、推定したメッセージと元のメッセージの間の誤り率を算出する。そして、繰り返して統計的な誤り率を算出する。そして、シャノン限界からの誤り率を評価する。そして、シャノン限界から遠ければ、以上の手順を繰り返して再度符号化方法を探索する。
【0354】
一方、本開示では、以下のように簡便に符号化が実現できる。例えば、第3の実施形態では、以下のように簡便に符号化が実現できる。
【0355】
まず、生成行列の満たすべき二次形式を算出する。そして、二次形式のパラメータをイジングマシンに入力する。そして、イジングマシンから生成行列の要素を得る。
【0356】
[5-2-2.リアルタイム符号生成]
従来は、精度のよい符号化方法の実現には時間がかかるため、符号化方法を何度も変更することはできなかった。
【0357】
一方、本開示では、符号化方法を比較的頻繁に変更することができる。これを利用して、たとえば、送信者がメッセージを送信している間に同時に新しい符号化方法を生成し、メッセージを利用して受信者と新しい符号化方法を共有することなどが考えられる。このように新たな符号化方法を途中で共有することで、符号化方法を秘匿化することができるようになり、より安全な通信が可能になる。
【0358】
[5-3.適用例]
また、上述した通信システム1、2は、種々のシステムに適用されてもよい。この点についての一例を
図16、
図17を参照しつつ簡単に説明する。
【0359】
[5-3-1.適用例#1(IoT)]
図16は、通信システムの適用の一例を示す概念図である。
図16に示す適用システムAE1は、所定の無線通信規格を用いたIoT(Internet of Things)ネットワークサービスの一例を示す。
【0360】
図16の適用システムAE1には、モバイル端末等のユーザ装置DVや種々のIoTセンサEQ1、EQ2、EQ3、EQ4(「IoTセンサEQ」とする)や中継基地局BSやクラウドCLが含まれる。例えば、IoTセンサEQと中継基地局BSとが通信する際に、上述したイジングモデルを用いた符号化や復号化の技術が用いられる。
【0361】
[5-3-2.適用例#2(衛星通信)]
図17は、通信システムの適用の一例を示す概念図である。
図16に示す適用システムAE2は、衛星通信の一例を示す。
【0362】
図17の適用システムAE2には、通信衛星ASや送信用基地局や受信用基地局(チューナー)である基地局ESが含まれる。例えば、通信衛星ASと基地局ESとが通信する際に、上述したイジングモデルを用いた符号化や復号化の技術が用いられる。
【0363】
[5-4.プログラムやパラメータ等の処理に用いる情報の生成方法]
上述した変換処理やパラメータ等を生成する方法が提供されてもよい。また、上述したイジングマシン10が計算を実行する際に用いるプログラムを生成する方法が提供されてもよい。
【0364】
[5-5.その他]
また、上記各実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0365】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0366】
また、上述してきた各実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0367】
また、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、他の効果があってもよい。
【0368】
[6.本開示に係る効果]
上記のように、本開示に係る変換方法は、符号化復号に関する組合せ最適化の目的関数をイジングモデルの形式に変換する変換方法であって、第1変形により、目的関数からモジュロ2演算を除き、第2変形により、目的関数に含まれる最適化したい第1変数を、イジングスピンに対応する第2変数に置き換え、第3変形により、目的関数の第2変数に関する次数を削減することにより、目的関数をイジングモデルの形式に変換する。
【0369】
このように、変換方法は、符号化復号に関する組合せ最適化の目的関数を第1~第3変形によって変形することにより、イジングモデルの形式に変換する。これにより、変換方法は、符号化復号に関する処理にイジングモデルを適用可能にすることができる。すなわち、変換方法を実行するコンピュータは、符号化復号に関する処理にイジングモデルを適用可能にすることができる。
【0370】
また、本開示に係る変換方法は、目的関数の第2変数に関する次数の削減に応じて、第2変数を追加し、また、追加された第2変数に関する目的関数に制約項を追加する第3変形により、目的関数をイジングモデルの形式に変換する。これにより、変換方法は、第2変数の次数の削減に応じて制約項が追加されたイジングモデルの形式に目的関数を生成することができ、符号化に関する処理にイジングモデルを適用可能にすることができる。すなわち、変換方法を実行するコンピュータは、符号化に関する処理にイジングモデルを適用可能にすることができる。
【0371】
また、本開示に係る変換方法は、目的関数の第2変数の次数を2次以下に削減する第3変形により、目的関数をイジングモデルの形式に変換する。これにより、変換方法は、符号化復号に関する問題をイジングモデルで解くことを可能にすることができる。すなわち、変換方法を実行するコンピュータは、符号化復号に関する処理にイジングモデルを適用可能にすることができる。
【0372】
また、本開示に係る変換方法は、通信路符号化および復号に関する対象の目的関数をイジングモデルの形式に変換する。これにより、変換方法は、通信路符号化および復号に関する処理にイジングモデルを適用可能にすることができる。すなわち、変換方法を実行するコンピュータは、符号化復号に関する処理にイジングモデルを適用可能にすることができる。
【0373】
また、本開示に係る変換方法は、線形符号に関する目的関数をイジングモデルの形式に変換する。これにより、変換方法は、線形符号に関する問題をイジングモデルで解くことを可能にすることができる。すなわち、変換方法を実行するコンピュータは、符号化に関する処理にイジングモデルを適用可能にすることができる。
【0374】
また、本開示に係る変換方法は、符号化の復号に関する組合せ最適化の目的関数をイジングモデルの形式に変換する変換方法であって、目的関数に含まれる最適化したい第1変数を、イジングスピンに対応する第2変数に置き換える第2変形により、目的関数をイジングモデルの形式に変換する。これにより、変換方法は、符号化された情報の復号にイジングモデルを利用することを可能にすることができる。すなわち、変換方法を実行するコンピュータは、符号化に関する処理にイジングモデルを適用可能にすることができる。
【0375】
また、本開示に係る変換方法は、通信装置間で通信される情報の復号に用いられる目的関数をイジングモデルの形式に変換する。これにより、変換方法は、通信装置間で通信される情報の復号にイジングモデルを利用することを可能にすることができる。すなわち、変換方法を実行するコンピュータは、符号化に関する処理にイジングモデルを適用可能にすることができる。
【0376】
また、本開示に係る変換方法は、通信装置が他の通信装置から受信した情報の復号に用いられる目的関数をイジングモデルの形式に変換する。これにより、変換方法は、受信した情報の復号にイジングモデルを利用することを可能にすることができる。すなわち、変換方法を実行するコンピュータは、符号化に関する処理にイジングモデルを適用可能にすることができる。
【0377】
また、本開示に係る変換方法は、第1変数が復元したいメッセージを構成する変数である。これにより、変換方法は、情報の復号にイジングモデルを利用することを可能にすることができる。すなわち、変換方法を実行するコンピュータは、符号化に関する処理にイジングモデルを適用可能にすることができる。
【0378】
また、本開示に係る変換方法は、第1変数が復号したい符号語を構成する変数である。これにより、変換方法は、情報の復号にイジングモデルを利用することを可能にすることができる。すなわち、変換方法を実行するコンピュータは、符号化に関する処理にイジングモデルを適用可能にすることができる。
【0379】
また、本開示に係る変換方法は、組合せ最適化の目的関数が、第1変数に関する最尤復号の目的関数である。これにより、変換方法は、最尤復号にイジングモデルを利用することを可能にすることができる。すなわち、変換方法を実行するコンピュータは、符号化に関する処理にイジングモデルを適用可能にすることができる。
【0380】
また、本開示に係る変換方法は、組合せ最適化の目的関数が、生成行列を利用した最尤復号の目的関数である。これにより、変換方法は、符号化の生成行列を利用した最尤復号の目的関数をイジングモデルの形式に変換することができ、符号化に関する処理にイジングモデルを適用可能にすることができる。すなわち、変換方法を実行するコンピュータは、符号化に関する処理にイジングモデルを適用可能にすることができる。
【0381】
また、本開示に係る変換方法は、組合せ最適化の目的関数が、符号語に関するパリティ検査の制約を制約項とする最尤復号の目的関数である。これにより、変換方法は、パリティ検査の制約を制約項とする最尤復号の目的関数をイジングモデルの形式に変換することができ、符号化に関する処理にイジングモデルを適用可能にすることができる。すなわち、変換方法を実行するコンピュータは、符号化に関する処理にイジングモデルを適用可能にすることができる。
【0382】
また、本開示に係る変換方法は、符号化に用いる組合せ最適化の目的関数をイジングモデルの形式に変換する変換方法であって、目的関数に含まれる最適化したい第1変数を、イジングスピンに対応する第2変数に置き換える第2変形により、目的関数をイジングモデルの形式に変換する。これにより、変換方法は、符号化に関する処理にイジングモデルを利用することを可能にすることができる。すなわち、変換方法を実行するコンピュータは、符号化に関する処理にイジングモデルを適用可能にすることができる。
【0383】
また、本開示に係る変換方法は、通信装置が他の通信装置へ送信する情報の符号化に用いられる目的関数をイジングモデルの形式に変換する。これにより、変換方法は、送信する情報の符号化にイジングモデルを利用することを可能にすることができる。すなわち、変換方法を実行するコンピュータは、符号化に関する処理にイジングモデルを適用可能にすることができる。
【0384】
また、本開示に係る変換方法は、第1変数が、符号化に用いる生成行列を構成する要素である。これにより、変換方法は、生成行列の生成にイジングモデルを利用することを可能にすることができる。すなわち、変換方法を実行するコンピュータは、符号化に関する処理にイジングモデルを適用可能にすることができる。
【0385】
上述のように、本開示に係る変換装置(実施形態では受信装置100、100A、送信装置200)は、符号化復号に関する最適化の目的関数をイジングモデルの形式に変換する変換装置であって、第1変形により、目的関数からモジュロ2演算を除く第1演算部(実施形態では第1演算部132、132A、232)と、第2変形により、目的関数に含まれる最適化したい第1変数を、イジングスピンに対応する第2変数に置き換える第2演算部(実施形態では第2演算部133、133A、233)と、第3変形により、目的関数に関する第2変数の次数を削減する第3演算部(実施形態では第3演算部134、134A、234)と、を備え、目的関数をイジングモデルの形式に変換する。
【0386】
このように、変換装置は、符号化に関する対象の目的関数を第1~第3変形によって変形することにより、イジングモデルの形式に変換する。これにより、変換装置は、符号化に関する処理にイジングモデルを適用可能にすることができる。
【0387】
上述のように、本開示に係る受信装置(実施形態では受信装置100、100A)は、符号化によりメッセージが符号化された符号語を送信装置から受信する受信部(実施形態では受信部131)と、符号化の復号に関する組合せ最適化の目的関数からモジュロ2演算を除き、目的関数に含まれる最適化したい第1変数を、イジングスピンに対応する第2変数に置き換え、目的関数の第2変数に関する次数を削減することにより、イジングモデルの形式に変換された目的関数に基づいて算出されたイジングスピンの値と、イジングスピンをメッセージに変換する関数とを用いて、受信部により受信された符号語が復号された情報を生成する生成部(実施形態では生成部135、135A)と、を備える。
【0388】
このように、受信装置は、第1~第3変形によってイジングモデルの形式に変換された目的関数に基づいて算出されたイジングスピンの値と、イジングスピンをメッセージに変換する関数とを用いて、受信した符号語が復号された情報を生成する。これにより、受信装置は、イジングモデルを用いることで、受信した情報を適切に復号することができる。したがって、受信装置は、符号化に関する処理にイジングモデルを適用可能にすることができる。
【0389】
上述のように、本開示に係る送信装置(実施形態では送信装置200)は、符号化に用いる組合せ最適化の目的関数からモジュロ2演算を除き、目的関数に含まれる最適化したい第1変数を、イジングスピンに対応する第2変数に置き換え、目的関数の第2変数に関する次数を削減することにより、イジングモデルの形式に変換された目的関数に基づいて算出されたイジングスピンの値と、イジングスピンを生成行列に変換する関数とを用いて生成した生成行列により、メッセージが符号化された符号語を生成する生成部(実施形態では生成部235)と、生成部により生成された符号語を受信装置に送信する送信部(実施形態では送信部236)と、を備える。
【0390】
このように、送信装置は、第1~第3変形によってイジングモデルの形式に変換された目的関数に基づいて算出されたイジングスピンの値と、イジングスピンを生成行列に変換する関数とを用いて生成した生成行列により、メッセージが符号化された符号語を生成する。これにより、送信装置は、イジングモデルを用いることで、送信した情報を適切に符号化することができる。したがって、送信装置は、符号化に関する処理にイジングモデルを適用可能にすることができる。
【0391】
[7.ハードウェア構成]
上述してきた各実施形態や変形例に係る受信装置100、100Aや送信装置50、200等の情報機器は、例えば
図18に示すような構成のコンピュータ1000によって実現される。
図18は、受信装置100、100Aや送信装置50、200等の情報処理装置の機能を実現するコンピュータ1000の一例を示すハードウェア構成図である。以下、第1の実施形態に係る受信装置100を例に挙げて説明する。コンピュータ1000は、CPU1100、RAM1200、ROM(Read Only Memory)1300、HDD(Hard Disk Drive)1400、通信インターフェイス1500、及び入出力インターフェイス1600を有する。コンピュータ1000の各部は、バス1050によって接続される。
【0392】
CPU1100は、ROM1300又はHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。例えば、CPU1100は、ROM1300又はHDD1400に格納されたプログラムをRAM1200に展開し、各種プログラムに対応した処理を実行する。
【0393】
ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるBIOS(Basic Input Output System)等のブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
【0394】
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を非一時的に記録する、コンピュータが読み取り可能な記録媒体である。具体的には、HDD1400は、プログラムデータ1450の一例である本開示に係る変換処理プログラム等の情報処理プログラムを記録する記録媒体である。
【0395】
通信インターフェイス1500は、コンピュータ1000が外部ネットワーク1550(例えばインターネット)と接続するためのインターフェイスである。例えば、CPU1100は、通信インターフェイス1500を介して、他の機器からデータを受信したり、CPU1100が生成したデータを他の機器へ送信したりする。
【0396】
入出力インターフェイス1600は、入出力デバイス1650とコンピュータ1000とを接続するためのインターフェイスである。例えば、CPU1100は、入出力インターフェイス1600を介して、キーボードやマウス等の入力デバイスからデータを受信する。また、CPU1100は、入出力インターフェイス1600を介して、ディスプレイやスピーカーやプリンタ等の出力デバイスにデータを送信する。また、入出力インターフェイス1600は、所定の記録媒体(メディア)に記録されたプログラム等を読み取るメディアインターフェイスとして機能してもよい。メディアとは、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0397】
例えば、コンピュータ1000が第1の実施形態に係る受信装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされた変換処理プログラム等の情報処理プログラムを実行することにより、制御部130等の機能を実現する。また、HDD1400には、本開示に係る変換処理プログラム等の情報処理プログラムや、記憶部120内のデータが格納される。なお、CPU1100は、プログラムデータ1450をHDD1400から読み取って実行するが、他の例として、外部ネットワーク1550を介して、他の装置からこれらのプログラムを取得してもよい。
【0398】
なお、本技術は以下のような構成も取ることができる。
(1)
符号化復号に関する組合せ最適化の目的関数をイジングモデルの形式に変換する変換方法であって、
第1変形により、前記目的関数からモジュロ2演算を除き、
第2変形により、前記目的関数に含まれる前記最適化したい第1変数を、イジングスピンに対応する第2変数に置き換え、
第3変形により、前記目的関数に関する前記第2変数の次数を削減することにより、
前記目的関数を前記イジングモデルの形式に変換する変換方法。
(2)
前記第2変数の次数の削減に応じて前記第2変数を追加し、制約項を前記目的関数に追加された第2変数に関する制約項を追加する前記第3変形により、前記目的関数を前記イジングモデルの形式に変換する(1)に記載の変換方法。
(3)
前記目的関数の第2変数の次数を2次以下に削減する前記第3変形により、前記目的関数を前記イジングモデルの形式に変換する(1)または(2)に記載の変換方法。
(4)
通信路符号化に関する前記目的関数を前記イジングモデルの形式に変換する(1)~(3)のいずれか1項に記載の変換方法。
(5)
線形符号に関する前記目的関数を前記イジングモデルの形式に変換する(1)~(4)のいずれか1項に記載の変換方法。
(6)
符号化の復号に関する前記組合せ最適化の目的関数を前記イジングモデルの形式に変換する変換方法であって、
前記目的関数に含まれる前記最適化したい第1変数を、前記イジングスピンに対応する前記第2変数に置き換える前記第2変形により、前記目的関数を前記イジングモデルの形式に変換する(1)~(5)のいずれか1項に記載の変換方法。
(7)
通信装置間で通信される情報の復号に用いられる前記目的関数を前記イジングモデルの形式に変換する(6)に記載の変換方法。
(8)
通信装置が他の通信装置から受信した情報の復号に用いられる前記目的関数を前記イジングモデルの形式に変換する(7)に記載の変換方法。
(9)
前記第1変数が復元したいメッセージを構成する変数であることを特徴とする(6)~(8)のいずれか1項に記載の変換方法。
(10)
前記第1変数が復号したい符号語を構成する変数であることを特徴とする(6)~(8)のいずれか1項に記載の変換方法。
(11)
前記組合せ最適化の目的関数が、前記第1変数に関する最尤復号の目的関数であることを特徴とする(6)~(10)のいずれか1項に記載の変換方法。
(12)
前記組合せ最適化の目的関数が、生成行列を利用した最尤復号の目的関数であることを特徴とする(6)~(11)のいずれか1項に記載の変換方法。
(13)
前記組合せ最適化の目的関数が、符号語に関するパリティ検査の制約を制約項とする最尤復号の目的関数であることを特徴とする(6)~(11)のいずれか1項に記載の変換方法。
(14)
符号化に用いる前記組合せ最適化の目的関数を前記イジングモデルの形式に変換する変換方法であって、
前記目的関数に含まれる前記最適化したい第1変数を、前記イジングスピンに対応する前記第2変数に置き換える前記第2変形により、前記目的関数を前記イジングモデルの形式に変換する(1)~(5)のいずれか1項に記載の変換方法。
(15)
通信装置が他の通信装置へ送信する情報の符号化に用いられる前記目的関数を前記イジングモデルの形式に変換する(14)に記載の変換方法。
(16)
前記第1変数が、符号化に用いる生成行列を構成する要素であることを特徴する(14)または(15)に記載の変換方法。
(17)
符号化復号に関する最適化の目的関数をイジングモデルの形式に変換する変換装置であって、
第1変形により、前記目的関数からモジュロ2演算を除く第1演算部と、
第2変形により、前記目的関数に含まれる前記最適化したい第1変数を、イジングスピンに対応する第2変数に置き換える第2演算部と、
第3変形により、前記目的関数に関する第2変数の次数を削減する第3演算部と、
を備え、前記目的関数を前記イジングモデルの形式に変換する変換装置。
(18)
符号化によりメッセージが符号化された符号語を送信装置から受信する受信部と、
前記符号化の復号に関する組合せ最適化の目的関数からモジュロ2演算を除き、前記目的関数に含まれる前記最適化したい第1変数を、イジングスピンに対応する第2変数に置き換え、前記目的関数の第2変数に関する次数を削減することにより、イジングモデルの形式に変換された前記目的関数に基づいて算出されたイジングスピンの値と、イジングスピンをメッセージに変換する関数とを用いて、前記受信部により受信された前記符号語が復号された情報を生成する生成部と、
を備えた受信装置。
(19)
符号化に用いる組合せ最適化の目的関数からモジュロ2演算を除き、前記目的関数に含まれる前記最適化したい第1変数を、イジングスピンに対応する第2変数に置き換え、前記目的関数の第2変数に関する次数を削減することにより、イジングモデルの形式に変換された前記目的関数に基づいて算出されたイジングスピンの値と、イジングスピンを生成行列に変換する関数とを用いて生成した生成行列により、メッセージが符号化された符号語を生成する生成部と、
前記生成部により生成された前記符号語を受信装置に送信する送信部と、
を備えた送信装置。
【符号の説明】
【0399】
1、2 通信システム
100、100A 受信装置
110 通信部
120、120A 記憶部
121 データ記憶部
122、122A 関数情報記憶部
130、130A 制御部
131 受信部
132、132A 第1演算部
133、133A 第2演算部
134、134A 第3演算部
135、135A 生成部
136 送信部
10 イジングマシン
11 通信部
12 記憶部
13 量子デバイス部
14 制御部
141 取得部
142 計算部
143 送信部
200、50 送信装置
210 通信部
220 記憶部
221 データ記憶部
222 関数情報記憶部
230 制御部
231 受信部
232 第1演算部
233 第2演算部
234 第3演算部
235 生成部
236 送信部