IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電信電話株式会社の特許一覧 ▶ 国立大学法人 東京大学の特許一覧 ▶ 国立大学法人名古屋大学の特許一覧 ▶ 独立行政法人理化学研究所の特許一覧

<>
  • 特許-復号装置および復号方法 図1
  • 特許-復号装置および復号方法 図2
  • 特許-復号装置および復号方法 図3
  • 特許-復号装置および復号方法 図4
  • 特許-復号装置および復号方法 図5
  • 特許-復号装置および復号方法 図6
  • 特許-復号装置および復号方法 図7
  • 特許-復号装置および復号方法 図8
  • 特許-復号装置および復号方法 図9
  • 特許-復号装置および復号方法 図10
  • 特許-復号装置および復号方法 図11
  • 特許-復号装置および復号方法 図12
  • 特許-復号装置および復号方法 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-06-25
(45)【発行日】2025-07-03
(54)【発明の名称】復号装置および復号方法
(51)【国際特許分類】
   G06N 10/70 20220101AFI20250626BHJP
【FI】
G06N10/70
【請求項の数】 4
(21)【出願番号】P 2022044635
(22)【出願日】2022-03-18
(65)【公開番号】P2023138116
(43)【公開日】2023-09-29
【審査請求日】2024-05-28
【新規性喪失の例外の表示】特許法第30条第2項適用 2021年3月22日に一般社団法人情報処理学会 第2回量子ソフトウェア研究発表会 予稿にて公開
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成30年度、国立研究開発法人科学技術振興機構、未来社会創造事業 研究課題名「低炭素AI処理基盤のための革新的超伝導コンピューティング」委託研究、産業技術力強化法第17条の適用を受ける特許出願
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(73)【特許権者】
【識別番号】504137912
【氏名又は名称】国立大学法人 東京大学
(73)【特許権者】
【識別番号】504139662
【氏名又は名称】国立大学法人東海国立大学機構
(73)【特許権者】
【識別番号】503359821
【氏名又は名称】国立研究開発法人理化学研究所
(74)【代理人】
【識別番号】110004381
【氏名又は名称】弁理士法人ITOH
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100124844
【弁理士】
【氏名又は名称】石原 隆治
(72)【発明者】
【氏名】鈴木 泰成
(72)【発明者】
【氏名】上野 洋典
(72)【発明者】
【氏名】近藤 正章
(72)【発明者】
【氏名】田中 雅光
(72)【発明者】
【氏名】田渕 豊
【審査官】千葉 久博
(56)【参考文献】
【文献】特表2018-530931(JP,A)
【文献】中国特許出願公開第111510157(CN,A)
【文献】小畠晟裕, 外2名,“ニューラルネットワークを用いた量子誤り訂正手法の改良の検討”,研究報告組込みシステム(EMB),日本,情報処理学会,2022年03月03日,第2022-EMB-59巻, 第39号,p.1-8
【文献】Adam Holmes, 外5名,”NISQ+: Boosting quantum computing power by approximating quantum error correction”,2020 ACM/IEEE 47th Annual International Symposium on Computer Architecture (ISCA),2020年07月13日,p.556-569
(58)【調査した分野】(Int.Cl.,DB名)
G06N 10/70
(57)【特許請求の範囲】
【請求項1】
単一磁束量子回路を備える、量子誤り訂正符号による復号装置であって、
前記単一磁束量子回路は、
所定の第1の時間間隔毎に、補助量子ビットの観測値を繰り返し取得する観測値取得部と、
前記第1の時間間隔よりも短い第2の時間間隔毎に、前記観測値に基づいてマッチング処理を繰り返し実行するマッチング部と、
前記第2の時間間隔毎に、前記マッチング処理の結果に基づいてデータ量子ビットの誤りを繰り返し訂正するエラー訂正部と、を備える、
復号装置。
【請求項2】
前記観測値取得部は、補助量子ビットの観測値として、複数の観測値を取得し、
前記マッチング部は、前記複数の観測値が観測エラーを含むことを想定して、前記複数の観測値に基づくマッチング処理を実行する、
請求項1に記載の復号装置。
【請求項3】
前記量子誤り訂正符号は、データ量子ビットと、ビット反転エラーを検出するための第一の補助量子ビットと、位相反転エラーを検出するための第二の補助量子ビットとを含む表面符号である、
請求項1または2に記載の復号装置。
【請求項4】
単一磁束量子回路を備えるコンピュータが実行する、量子誤り訂正符号による復号方法であって、
所定の第1の時間間隔毎に、補助量子ビットの観測値を繰り返し取得するステップと、
前記第1の時間間隔よりも短い第2の時間間隔毎に、前記観測値に基づいてマッチング処理を繰り返し実行するステップと、
前記第2の時間間隔毎に、前記マッチング処理の結果に基づいてデータ量子ビットの誤りを繰り返し訂正するステップと、を備える、
復号方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、復号装置および復号方法に関する。
【背景技術】
【0002】
量子コンピュータは、量子力学の重ね合わせの原理を活用して計算を行う技術で、素因数分解や量子化学計算などの問題を高速に解けることが期待されているため、その開発が世界で盛んに進められている。古典コンピュータを構成する素子である(古典)ビットは0または1の値をとる。一方、量子コンピュータを構成する素子である量子ビットは0と1に加えて、0と1の連続的な重ね合わせ状態をとることができる。この重ね合わせ状態を用いると、ビットの値が0の場合と1の場合の計算を同時に実行することが可能となるが、量子ビットを観測するとその値は0または1に確定し、重ね合わせ状態が壊れてしまう。
【0003】
量子ビットにはエラーが生じやすいため、量子コンピュータの計算を進めていくためにはそのエラーを訂正する必要がある。しかし、前述の量子ビットの性質により、通常の古典ビットのように量子ビットを直接観測してエラーの有無を調べることはできない。そこで、非特許文献1には、異なる役割を持つ複数の物理量子ビットを符号化して1つの論理量子ビットを構成する量子誤り訂正符号という枠組みが提案されている。
【0004】
量子ビットの実現方法はいくつか知られているが、その中でも超伝導量子ビットは集積可能性と設計自由度が高く、量子コンピュータ素子の第一候補として有望視されている。超伝導量子ビットは極低温環境でのみ動作するという制約を持つため、極低温環境をつくりだす希釈冷凍機の中で動作するのが一般的である。
【先行技術文献】
【非特許文献】
【0005】
【文献】Fowler, Austin G., et al. "Surface codes: Towards practical large-scale quantum computation." Physical Review A 86.3 (2012): 032324.
【発明の概要】
【発明が解決しようとする課題】
【0006】
超伝導量子ビットは極低温環境で動作するが、復号装置は、室温かそれに近い環境での動作を念頭にしていることが多い。量子ビットと復号装置を異なる温度環境で動作させるためには、膨大な配線が必要であり、超伝導量子コンピュータのスケーラビリティが制限される。そのため、量子ビットを超低温環境で動作させる場合、復号装置も超低温環境で動作させたいという要望がある。しかし、極低温環境で許容される消費電力は非常に小さいため、従来の量子誤り訂正符号による復号装置は、極低温環境で動作させることが困難であるという問題がある。
【0007】
開示の技術は、量子誤り訂正符号による復号装置を超低温環境で動作させることを目的とする。
【課題を解決するための手段】
【0008】
開示の技術は、単一磁束量子回路を備える、量子誤り訂正符号による復号装置であって、前記単一磁束量子回路は、補助量子ビットの観測値を取得する観測値取得部と、前記観測値に基づいてマッチング処理を実行するマッチング部と、前記マッチング処理の結果に基づいてデータ量子ビットの誤りを訂正するエラー訂正部と、を備える復号装置である。
【発明の効果】
【0009】
開示の技術によれば、量子誤り訂正符号による復号装置を超低温環境で動作させることができる。
【図面の簡単な説明】
【0010】
図1】表面符号について説明するための図である。
図2】復号について説明するための図である。
図3】復号装置の機能構成の一例を示す図である。
図4】マッチング処理の流れの一例を示すフローチャートである。
図5】マッチング処理について説明するための第一の図である。
図6】マッチング処理について説明するための第二の図である。
図7】マッチング処理について説明するための第三の図である。
図8】観測エラーが無い場合の各ユニットの処理の流れの一例を示すフローチャートである。
図9】観測エラーが有る場合の各ユニットの処理の流れの一例を示すフローチャートである。
図10】従来の復号装置について説明するための図である。
図11】本実施の形態に係る復号装置について説明するための図である。
図12】バッチ処理方式の復号方法について説明するための図である。
図13】オンライン処理方式の復号方法について説明するための図である。
【発明を実施するための形態】
【0011】
以下、図面を参照して本発明の実施の形態(本実施の形態)を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
【0012】
なお、本実施の形態の参考技術等に関連する参考文献の番号と文献名を、本実施の形態の最後にまとめて記載した。下記の説明において関連する参考文献の番号を"[1]"等のように示している。
【0013】
(本実施の形態の概要)
本実施の形態に係る復号装置は、量子誤り訂正符号による復号装置であって、単一磁束量子(SFQ:Single Flux Quantum)回路を用いてグラフのマッチング問題を解くことにより、消費電力を低減させる。
【0014】
(表面符号について)
図1は、表面符号について説明するための図である。表面符号は、代表的な量子誤り訂正符号の1つである。表面符号は、例えば、規則正しく並んだデータ量子ビット201と、ビット反転エラーを検出するための第一の補助量子ビット202と、位相反転エラーを検出するための第二の補助量子ビット203と、を含む。
【0015】
データ量子ビット201は、論理量子ビットの重ね合わせ状態を表すために用いられ、直接観測されることはない。第一の補助量子ビット202および第二の補助量子ビット203の観測値は、隣接したデータ量子ビット201に生じたエラーのパリティを与える。このパリティから、実際にデータ量子ビット201に生じているエラーの種類と箇所を特定することを復号と呼ぶ。
【0016】
(表面符号について)
図2は、復号について説明するための図である。表面符号の復号処理は、グラフのマッチング問題を解くことで実施できることが知られている[1]。グラフのマッチング問題とは、エラーの検知信号に所定の処理を行って構成される、図2のような2次元格子中のノード901をペアリングする問題である。
【0017】
ここで、ペアリングした頂点間の辺902の集合が、推定されたエラーに対応する。復号装置は、古典コンピュータで実現される。このようなマッチング処理をする復号装置と量子ビットを組み合わせることで、誤り耐性を有する量子コンピュータを構成できる。
【0018】
(復号装置の機能構成)
図3は、復号装置の機能構成の一例を示す図である。復号装置10は、観測値取得部11と、マッチング部12と、エラー訂正部13とを備える。これらの各部は、単一磁束量子(SFQ)回路によって実現される。
【0019】
復号装置10と量子ビット20との間は配線30によって接続されている。観測値取得部11は、配線30を介して、第一の補助量子ビット202および第二の補助量子ビット203から観測値を取得する。
【0020】
マッチング部12は、観測値に基づいて、グラフのマッチング問題を解く。具体的には、マッチング部12は、後述するマッチング処理を実行する。マッチング処理は、観測エラーが無い場合の処理でもよいし、観測エラーが有る場合の処理でもよい。例えば、観測エラーの頻度、処理の目的等に応じて、ユーザが選択できるようなスイッチ回路を備えていてもよい。
【0021】
エラー訂正部13は、データ量子ビット201に誤りが検出された場合に、検出された誤りを訂正する。具体的には、後述するマッチング処理において、誤りを訂正する処理が実行される。
【0022】
マッチング処理のグラフは、頂点に相当するユニットと、頂点を結ぶ辺に相当する経路から構成される。各ユニットは、1つの補助量子ビット(第一の補助量子ビット202または第二の補助量子ビット203)に対応している。
【0023】
ユニットは、ホットユニット(Hot Unit)、非ホットユニット(Non-hot Unit)、境界ユニット(Boundary Unit)などに分類される。ホットユニット(Hot Unit)および非ホットユニット(Non-hot Unit)は、補助量子ビット(第一の補助量子ビット202または第二の補助量子ビット203)の観測値の表すパリティが奇および偶の場合にそれぞれ対応している。また、境界ユニット(Boundary Unit)は、論理ビット(データ量子ビット201)の1つの境界に対応する。
【0024】
(復号装置の動作)
次に、復号装置10の動作について、図面を参照して説明する。
【0025】
図4は、マッチング処理の流れの一例を示すフローチャートである。図4は、1つの論理ビットの領域内でマッチングする場合の処理の流れを示している。マッチング部12は、各ユニットに順にトークン(Token)を渡し、シンクユニット(Sink Unit)を決定する(ステップS1)。
【0026】
続いて、マッチング部12は、シンクユニット(Sink Unit)以外の各ユニット(Unit)から、シンクユニット(Sink Unit)を指し示すようにスパイク(Spike)信号の送信方向を決定する(ステップS2)。各ホットユニット(Hot Unit)は、スパイク(Spike)信号を送信する(ステップS3)。
【0027】
次に、スパイク(Spike)信号を受け取った非ホットユニット(Non-hot Unit)は、スパイク(Spike)信号を中継する(ステップS4)。中継した非ホットユニット(Non-hot Unit)は、スパイク(Spike)信号を受け取った方向を記憶する(ステップS5)。
【0028】
続いて、ホットユニット(Hot Unit)は、最初に到達したスパイク(Spike)信号の方向に対して承認(Acknowledge)信号を送信する(ステップS6)。承認(Acknowledge)信号を受け取った非ホットユニット(Non-hot Unit)は、記憶した方向に向けて承認(Acknowledge)信号を中継する(ステップS7)。
【0029】
承認(Acknowledge)信号がホットユニット(Hot Unit)に戻ると、マッチング処理を終了する(ステップS8)。承認(Acknowledge)信号の通過したパス上のデータ量子ビット201が訂正される。
【0030】
次に、上述したマッチング処理の詳細について、さらに図面を参照して説明する。
【0031】
図5は、マッチング処理について説明するための第一の図である。マッチング部12は、マッチング処理のステップS3において、ホットユニット(Hot Unit)911から、ホットユニット(Hot Unit)913に向けて、スパイク(Spike)信号を送信させる。
【0032】
また、マッチング部12は、マッチング処理のステップS4において、非ホットユニット(Non-hot Unit)912にスパイク(Spike)信号を中継させる。そして、マッチング部12は、マッチング処理のステップS5において、非ホットユニット(Non-hot Unit)912に、スパイク(Spike)信号を受け取った方向(ホットユニット(Hot Unit)911への方向)を記憶させる。
【0033】
図6は、マッチング処理について説明するための第二の図である。エラー訂正部13は、マッチング処理のステップS6において、ホットユニット(Hot Unit)913に、最初に到達したスパイク(Spike)信号914の方向に対して承認(Acknowledge)信号916を送信させる。
【0034】
エラー訂正部13は、マッチング処理のステップS7において、承認(Acknowledge)信号916を受け取った非ホットユニット(Non-hot Unit)912は、記憶した方向(ホットユニット(Hot Unit)911への方向)に向けて承認(Acknowledge)信号916を中継する。図6において、中継された承認(Acknowledge)信号は、承認(Acknowledge)信号918として、ホットユニット(Hot Unit)911に送信される。
【0035】
また、論理ビットの境界とマッチングする場合、マッチング部12は、マッチング処理のステップS3において、境界ユニット(Boundary Unit)に、境界に隣接する各ユニット(Unit)に対してスパイク(Spike)信号を送信させる。ステップS4以降の処理は、1つの論理ビットの領域内でマッチングする場合の処理の流れと同様である。
【0036】
図7は、マッチング処理について説明するための第三の図である。論理ビットの境界とマッチングする場合、マッチング部12は、マッチング処理のステップS3において、境界ユニット(Boundary Unit)919に、境界に隣接する各ユニット(Unit)(例えば非ホットユニット(Non-hot Unit)920)に対してスパイク(Spike)信号を送信させる。
【0037】
次に、マッチング処理における各ユニットの処理について説明する。補助量子ビット(第一の補助量子ビット202または第二の補助量子ビット203)の観測値は、エラーパリティが偶の場合に0、奇の場合に1として変数Regに保持される。観測エラーがない場合、変数Regは1ビットの値である。他方、観測エラーがある場合、変数Regは複数の観測値を保持する配列となる。
【0038】
図8は、観測エラーが無い場合の各ユニットの処理の流れの一例を示すフローチャートである。マッチング部12は、処理対象ユニットが、トークン(Token)を持つか否かを判定する(ステップS101)。
【0039】
続いて、マッチング部12は、処理対象ユニットがトークン(Token)を持たないと判定すると(ステップS101:No)、スパイク(Spike)信号の送信要求を待つ(ステップS102)。
【0040】
マッチング部12は、処理対象ユニットがスパイク(Spike)信号の送信要求を受けると、変数Regが1であるか否かを判定する(ステップS103)。マッチング部12は、変数Regが1であると判定すると(ステップS103:Yes)、処理対象ユニットをホットユニット(Hot Unit)と判断し、処理対象ユニットにスパイク(Spike)信号を送信させる(ステップS104)。
【0041】
次に、処理対象ユニットは、承認(Acknowledge)信号を待つ(ステップS105)。承認(Acknowledge)信号を受信すると、マッチング部12は、リセット信号を要求する(ステップS106)。
【0042】
また、ステップS103において、マッチング部12は、変数Regが1でないと判定すると(ステップS103:No)、処理対象ユニットを非ホットユニット(Non-hot Unit)と判断する。処理対象ユニットは、スパイク(Spike)信号を待つ(ステップS107)。処理対象ユニットがスパイク(Spike)信号を受信すると、マッチング部12は、処理対象ユニットにスパイク(Spike)信号を送信(中継)させる(ステップS108)。
【0043】
次に、処理対象ユニットは、承認(Acknowledge)信号を待つ(ステップS109)。承認(Acknowledge)信号を受信すると、エラー訂正部13は、データ量子ビットの誤りを訂正し、処理対象ユニットに承認(Acknowledge)信号を送信(中継)させる(ステップS110)。
【0044】
また、ステップS101において、マッチング部12は、処理対象ユニットがトークン(Token)を持つと判定すると(ステップS101:Yes)、変数Regが1であるか否かを判定する(ステップS111)。
【0045】
マッチング部12は、変数Regが1でないと判定すると(ステップS111:No)、リセット信号を要求する(ステップS112)。
【0046】
マッチング部12は、変数Regが1であると判定すると(ステップS111:Yes)、処理対象ユニットをシンクユニット(Sink Unit)と判断し、処理対象ユニットにスパイク(Spike)信号の送信を要求させる(ステップS113)。
【0047】
処理対象ユニットは、スパイク(Spike)信号を待つ(ステップS114)。処理対象ユニットがスパイク(Spike)信号を受信すると、エラー訂正部13は、データ量子ビットの誤りを訂正し、処理対象ユニットに承認(Acknowledge)信号を送信させる(ステップS115)。
【0048】
図9は、観測エラーが有る場合の各ユニットの処理の流れの一例を示すフローチャートである。観測エラーが有ることを想定し、観測値取得部11は、複数の観測値を取得する。ここでは、観測値取得部11によって取得された複数の観測値のうち、bという観測値を指定した処理とする。マッチング部12は、処理対象ユニットが、トークン(Token)を持つか否かを判定する(ステップS201)。
【0049】
続いて、マッチング部12は、処理対象ユニットがトークン(Token)を持たないと判定すると(ステップS201:No)、スパイク(Spike)信号の送信要求を待つ(ステップS202)。
【0050】
マッチング部12は、処理対象ユニットがスパイク(Spike)信号の送信要求を受けると、変数tにbをセットし(ステップS203)、配列Reg[t]が1であるか否かを判定する(ステップS204)。マッチング部12は、配列Reg[t]が1であると判定すると(ステップS204:Yes)、処理対象ユニットをホットユニット(Hot Unit)と判断し、処理対象ユニットにスパイク(Spike)信号を送信させる(ステップS205)。
【0051】
次に、処理対象ユニットは、承認(Acknowledge)信号を待つ(ステップS206)。承認(Acknowledge)信号を受信すると、マッチング部12は、リセット信号を要求する(ステップS207)。
【0052】
また、ステップS204において、マッチング部12は、配列Reg[t]が1でないと判定すると(ステップS204:No)、処理対象ユニットがスパイク(Spike)信号を受信したか否かを判定する(ステップS208)。マッチング部12は、処理対象ユニットがスパイク(Spike)信号を受信していないと判定すると(ステップS208:No)、変数tに1を加算して(ステップS209)、ステップS204の処理に戻る。
【0053】
他方、マッチング部12は、処理対象ユニットがスパイク(Spike)信号を受信したと判定すると(ステップS208:Yes)、処理対象ユニットを非ホットユニット(Non-hot Unit)と判断する。マッチング部12は、処理対象ユニットにスパイク(Spike)信号を送信(中継)させる(ステップS210)。
【0054】
次に、処理対象ユニットは、承認(Acknowledge)信号を待つ(ステップS211)。承認(Acknowledge)信号を受信すると、エラー訂正部13は、データ量子ビットの誤りを訂正し、処理対象ユニットに承認(Acknowledge)信号を送信(中継)させる(ステップS212)。
【0055】
また、ステップS201において、マッチング部12は、処理対象ユニットがトークン(Token)を持つと判定すると(ステップS201:Yes)、配列Reg[b]が1であるか否かを判定する(ステップS213)。
【0056】
マッチング部12は、配列Reg[b]が1でないと判定すると(ステップS213:No)、リセットを要求する(ステップS214)。
【0057】
マッチング部12は、配列Reg[b]が1であると判定すると(ステップS213:Yes)、処理対象ユニットをシンクユニット(Sink Unit)と判断し、処理対象ユニットにスパイク(Spike)信号の送信を要求させる(ステップS215)。
【0058】
マッチング部12は、変数tにbをセットし(ステップS216)、処理対象ユニットがスパイク(Spike)信号を受信したか否かを判定する(ステップS217)。マッチング部12が、処理対象ユニットがスパイク(Spike)信号を受信したと判定すると(ステップS217:Yes)、エラー訂正部13は、データ量子ビットの誤りを訂正し、処理対象ユニットに承認(Acknowledge)信号を送信させる(ステップS218)。
【0059】
他方、マッチング部12は、処理対象ユニットがスパイク(Spike)信号を受信していないと判定すると(ステップS217:No)、変数tがbでなく、かつ配列Reg[b]が1であるか否かを判定する(ステップS219)。
【0060】
マッチング部12は、変数tがbであるか、または配列Reg[b]が1でないと判定すると(ステップS219:No)、変数tに1を加算して(ステップS220)、ステップS217の処理に戻る。
【0061】
他方、マッチング部12が、変数tがbでなく、かつ配列Reg[b]が1であると判定すると(ステップS219:Yes)、エラー訂正部13は、データ量子ビットの誤りを訂正し、処理対象ユニットにリセット信号を送信させる(ステップS221)。
【0062】
本実施の形態によれば、アルゴリズム・ハードウェアレベルの協調設計により、SFQ回路で構成される復号装置10が提供される。SFQ回路を用いて大規模なランダムアクセスメモリを構築することは消費電力および回路面積の点からコストが高く、大規模なメモリを必要とする従来のグラフマッチングアルゴリズムを実行する復号装置をSFQ回路で設計しても、希釈冷凍機内で動作可能なほど低消費電力・省面積となるとは限らない。
【0063】
本実施の形態に係るグラフマッチング処理は、表面符号の復号に必要な処理の局所性、およびSFQ回路の特性を考慮した分散処理方式のグラフマッチングアルゴリズムである。復号装置10は、大規模なメモリを必要とせず、各補助量子ビットに対応するシンプルな処理ユニット同士が数ビットの信号をやりとりする構造になっており、低消費電力で動作可能で拡張性にも優れている。
【0064】
図10は、従来の復号装置について説明するための図である。従来の復号装置は、一般に室温で動作する。そのため、量子ビットと復号装置の間をつなぐ膨大な配線がボトルネックとなり、超伝導量子コンピュータのスケーラビリティが制限されている。
【0065】
図11は、本実施の形態に係る復号装置について説明するための図である。本実施の形態に係る復号装置は、高速・低消費電力で動作するSFQ回路で構成され、大規模なメモリを必要とせず、低消費電力で動作可能である。したがって、復号装置を超低温環境で動作させることができ、膨大な配線が不要となり、超伝導量子コンピュータのスケーラビリティの制限が緩和される。
【0066】
また、補助量子ビットの観測エラーが生じる場合の表面符号の復号については、補助量子ビットの観測を十分な回数行なった後に復号処理を行う「バッチ処理方式」が一般的であった。
【0067】
図12は、バッチ処理方式の復号方法について説明するための図である。バッチ処理方式においては観測処理を繰り返している間に量子ビットのエラーに関するデータが蓄積し、量子計算機に追従した現実的な時間での復号処理が難しくなる。
【0068】
他方、本実施の形態に係る復号装置は、現実的な環境で動作可能な、補助量子ビットの観測と復号を同時に行う「オンライン処理方式」の復号方式を実現する。
【0069】
図13は、オンライン処理方式の復号方法について説明するための図である。超伝導量子コンピュータにおいて、補助量子ビットの観測処理は1マイクロ秒程度の間隔で繰り返されるが、復号装置10は、復号処理を1マイクロ秒以下で実行可能であり、オンライン処理に必要な高速性を備えている。
【0070】
また、実際の量子コンピュータでは補助量子ビットの観測にもエラーが生じる場合がある。本実施の形態に係る復号装置によれば、補助量子ビットの観測を複数回行い、得られた全ての観測値を元に復号処理を行うことで、観測エラーにも対処可能できる。
【0071】
[参考文献]
[1] Holmes, Adam, et al. "NISQ+: Boosting quantum computing power by approximating quantum error correction." 2020 ACM/IEEE 47th Annual International Symposium on Computer Architecture (ISCA). IEEE, 2020.
【0072】
(実施の形態のまとめ)
本明細書には、少なくとも下記の各項に記載した復号装置および復号方法が記載されている。
(第1項)
単一磁束量子回路を備える、量子誤り訂正符号による復号装置であって、
前記単一磁束量子回路は、
補助量子ビットの観測値を取得する観測値取得部と、
前記観測値に基づいてマッチング処理を実行するマッチング部と、
前記マッチング処理の結果に基づいてデータ量子ビットの誤りを訂正するエラー訂正部と、を備える、
復号装置。
(第2項)
前記観測値取得部は、補助量子ビットの観測値として、複数の観測値を取得し、
前記マッチング部は、前記複数の観測値が観測エラーを含むことを想定して、前記複数の観測値に基づくマッチング処理を実行する、
第1項に記載の復号装置。
(第3項)
前記量子誤り訂正符号は、データ量子ビットと、ビット反転エラーを検出するための第一の補助量子ビットと、位相反転エラーを検出するための第二の補助量子ビットとを含む表面符号である、
第1項または第2項に記載の復号装置。
(第4項)
単一磁束量子回路を備えるコンピュータが実行する、量子誤り訂正符号による復号方法であって、
補助量子ビットの観測値を取得するステップと、
前記観測値に基づいてマッチング処理を実行するステップと、
前記マッチング処理の結果に基づいてデータ量子ビットの誤りを訂正するステップと、を備える、
復号方法。
【0073】
上記構成のいずれによっても、量子誤り訂正符号による復号装置を超低温環境で動作させることを可能とする技術が提供される。第2項によれば、観測値に観測エラーが含まれる場合に対応して、データ量子ビットの誤りを訂正することができる。第3項によれば、表面符号によってビット反転エラーと位相反転エラーを訂正することができる。
【0074】
以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0075】
10 復号装置
11 観測値取得部
12 マッチング部
13 エラー訂正部
20 量子ビット
30 配線
201 データ量子ビット
202 第一の補助量子ビット
203 第二の補助量子ビット
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13