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

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

▶ ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッドの特許一覧

特許7267481量子回路の処理方法、装置、電子デバイス、記憶媒体、及びプログラム
<>
  • 特許-量子回路の処理方法、装置、電子デバイス、記憶媒体、及びプログラム 図1
  • 特許-量子回路の処理方法、装置、電子デバイス、記憶媒体、及びプログラム 図2
  • 特許-量子回路の処理方法、装置、電子デバイス、記憶媒体、及びプログラム 図3
  • 特許-量子回路の処理方法、装置、電子デバイス、記憶媒体、及びプログラム 図4
  • 特許-量子回路の処理方法、装置、電子デバイス、記憶媒体、及びプログラム 図5
  • 特許-量子回路の処理方法、装置、電子デバイス、記憶媒体、及びプログラム 図6
  • 特許-量子回路の処理方法、装置、電子デバイス、記憶媒体、及びプログラム 図7
  • 特許-量子回路の処理方法、装置、電子デバイス、記憶媒体、及びプログラム 図8
  • 特許-量子回路の処理方法、装置、電子デバイス、記憶媒体、及びプログラム 図9
  • 特許-量子回路の処理方法、装置、電子デバイス、記憶媒体、及びプログラム 図10
  • 特許-量子回路の処理方法、装置、電子デバイス、記憶媒体、及びプログラム 図11
  • 特許-量子回路の処理方法、装置、電子デバイス、記憶媒体、及びプログラム 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-04-21
(45)【発行日】2023-05-01
(54)【発明の名称】量子回路の処理方法、装置、電子デバイス、記憶媒体、及びプログラム
(51)【国際特許分類】
   G06N 10/60 20220101AFI20230424BHJP
【FI】
G06N10/60
【請求項の数】 19
(21)【出願番号】P 2022059382
(22)【出願日】2022-03-31
(65)【公開番号】P2022088600
(43)【公開日】2022-06-14
【審査請求日】2022-03-31
(31)【優先権主張番号】202110796240.7
(32)【優先日】2021-07-14
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】514322098
【氏名又は名称】ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド
【氏名又は名称原語表記】Beijing Baidu Netcom Science Technology Co., Ltd.
【住所又は居所原語表記】2/F Baidu Campus, No.10, Shangdi 10th Street, Haidian District, Beijing 100085, China
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100108213
【弁理士】
【氏名又は名称】阿部 豊隆
(72)【発明者】
【氏名】リウ,シュウセン
(72)【発明者】
【氏名】ドゥアン,ランヤオ
(72)【発明者】
【氏名】ウー,ダンシァン
(72)【発明者】
【氏名】ルゥ,シェンジン
【審査官】加藤 優一
(56)【参考文献】
【文献】国際公開第2020/141079(WO,A1)
【文献】中国特許出願公開第112819170(CN,A)
【文献】国際公開第2020/251875(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00 -99/00
(57)【特許請求の範囲】
【請求項1】
量子回路における各論理ビットの第1測定順序を取得することと、
前記各論理ビットと、チップ結合図における各物理ビットとの間の目標マッピング関係に基づいて、前記第1測定順序に対応する物理ビット順序を決定することであって、前記目標マッピング関係は、前記各論理ビットと前記各物理ビットとの間の初期マッピング関係に基づいて更新して得られることと、
前記物理ビット順序及び前記初期マッピング関係に基づいて、前記量子回路の各論理ビットの第2測定順序を決定することと、
前記第2測定順序に基づいて、前記量子回路を測定して、測定結果を得ることと、を含む、
量子回路の処理方法。
【請求項2】
前記物理ビット順序及び前記初期マッピング関係に基づいて、前記量子回路の各論理ビットの第2測定順序を決定することは、
前記初期マッピング関係の逆マッピング関係を決定することであって、前記逆マッピング関係は、前記各物理ビットと前記各論理ビットとの間のマッピング関係であることと、
前記逆マッピング関係に基づいて、前記物理ビット順序をマッピングし、前記各論理ビットの第2測定順序を得ることと、を含む、
請求項1に記載の量子回路の処理方法。
【請求項3】
前記量子回路の処理方法は、
前記各論理ビットと前記各物理ビットとの間の初期マッピング関係を決定することと、
前記初期マッピング関係と前記チップ結合図とに基づいて、前記量子回路における実行不可能な目標量子ゲートを決定することと、
前記実行不可能な目標量子ゲートに基づいて、交換ゲートを前記量子回路に挿入することと、
前記交換ゲートに基づいて、前記初期マッピング関係を更新して、前記目標マッピング関係を得ることと、をさらに含む、
請求項1又は2に記載の量子回路の処理方法。
【請求項4】
前記各論理ビットと前記各物理ビットとの間の初期マッピング関係を決定することは、
前記量子回路における目標量子ゲートに基づいて、簡易量子回路及び前記簡易量子回路の反転回路を得ることと、
前記簡易量子回路と前記反転回路とに基づいて、N回の反復処理を行って、N個のマッピング関係を得ることであって、Nは2以上の整数であることと、
前記初期マッピング関係を前記N個のマッピング関係の中から決定することと、を含む、
請求項3に記載の量子回路の処理方法。
【請求項5】
前記N回の反復処理のうちのi回目の反復処理は、
iが第1種の数値である場合に、前記簡易量子回路と予め設定された探索アルゴリズムとに基づいて、前記N個のマッピング関係のうちのi-1番目のマッピング関係を更新して、前記N個のマッピング関係のうちのi番目のマッピング関係を得ることと、
iが第2種の数値である場合に、前記反転回路と前記探索アルゴリズムとに基づいて、前記i-1番目のマッピング関係を更新して、前記i番目のマッピング関係を得ることと、の少なくともいずれか一方を含む、
請求項4に記載の量子回路の処理方法。
【請求項6】
前記初期マッピング関係を前記N個のマッピング関係の中から決定することは、
前記N個のマッピング関係のうちの、コストが最も小さいマッピング関係を前記初期マッピング関係として決定すること、を含む、
請求項4又は5に記載の量子回路の処理方法。
【請求項7】
前記初期マッピング関係と前記チップ結合図とに基づいて、前記量子回路における実行不可能な目標量子ゲートを決定することは、
前記量子回路におけるM個の目標量子ゲートに基づいて、M個の論理ビット対を決定することであって、Mは正の整数であることと、
前記初期マッピング関係に基づいて、前記M個の論理ビット対にそれぞれ対応するM個の物理ビット対を前記チップ結合図において決定することと、
前記チップ結合図における各物理ビット間の連通関係に基づいて、隣接していない物理ビット対を前記M個の物理ビット対の中から決定することと、
前記隣接しない物理ビット対に基づいて、前記M個の目標量子ゲートにおける実行不可能な目標量子ゲートを決定することと、を含む、
請求項3から請求項6までのいずれか1項に記載の量子回路の処理方法。
【請求項8】
前記実行不可能な目標量子ゲートに基づいて、交換ゲートを前記量子回路に挿入することは、
前記初期マッピング関係に基づいて、前記実行不可能な目標量子ゲートが作用する第1論理ビットに対応する第1物理ビットを前記チップ結合図において決定することと、
前記第1物理ビットに隣接するK個の第2物理ビットを前記チップ結合図において決定することであって、Kは正の整数であることと、
前記初期マッピング関係の逆マッピング関係に基づいて、前記K個の第2物理ビットに対応するK個の第2論理ビットを決定することと、
前記K個の第2論理ビットに基づいて、K個の交換ゲートを得ることと、
前記K個の交換ゲートのうちの、コストが最も小さい交換ゲートを前記量子回路に挿入することと、を含む、
請求項3から請求項7までのいずれか1項に記載の量子回路の処理方法。
【請求項9】
量子回路における各論理ビットの第1測定順序を取得するための順序取得モジュールと、
前記各論理ビットと、チップ結合図における各物理ビットとの間の目標マッピング関係に基づいて、前記第1測定順序に対応する物理ビット順序を決定するための順序マッピングモジュールであって、前記目標マッピング関係は、前記各論理ビットと前記各物理ビットとの間の初期マッピング関係に基づいて更新して得られるモジュールと、
前記物理ビット順序及び前記初期マッピング関係に基づいて、前記量子回路の各論理ビットの第2測定順序を決定するための順序決定モジュールと、
前記第2測定順序に基づいて、前記量子回路を測定して、測定結果を得るための回路測定モジュールと、を備える、
量子回路の処理装置。
【請求項10】
前記順序決定モジュールは、
前記初期マッピング関係の逆マッピング関係を決定するための逆マッピング決定ユニットであって、前記逆マッピング関係は、前記各物理ビットと前記各論理ビットとの間のマッピング関係であるユニットと、
前記逆マッピング関係に基づいて、前記物理ビット順序をマッピングし、前記各論理ビットの第2測定順序を得るためのマッピング処理ユニットと、を備える、
請求項9に記載の量子回路の処理装置。
【請求項11】
前記量子回路の処理装置は、
前記各論理ビットと前記各物理ビットとの間の初期マッピング関係を決定するための初期マッピングモジュールと、
前記初期マッピング関係と前記チップ結合図とに基づいて、前記量子回路における実行不可能な目標量子ゲートを決定するための量子ゲート決定モジュールと、
前記実行不可能な目標量子ゲートに基づいて、交換ゲートを前記量子回路に挿入するための回路変換モジュールと、
前記交換ゲートに基づいて、前記初期マッピング関係を更新して、前記目標マッピング関係を得るためのマッピング更新モジュールと、をさらに備える、
請求項9又は10に記載の量子回路の処理装置。
【請求項12】
前記初期マッピングモジュールは、
前記量子回路における目標量子ゲートに基づいて、簡易量子回路及び前記簡易量子回路の反転回路を得るための回路簡易化ユニットと、
前記簡易量子回路と前記反転回路とに基づいて、N回の反復処理を行って、N個のマッピング関係を得るための反復処理ユニットであって、Nは2以上の整数であるユニットと、
前記初期マッピング関係を前記N個のマッピング関係の中から決定するためのマッピング決定ユニットと、を備える、
請求項11に記載の量子回路の処理装置。
【請求項13】
前記N回の反復処理のうちのi回目の反復処理は、
iが第1種の数値である場合に、前記簡易量子回路と予め設定された探索アルゴリズムとに基づいて、前記N個のマッピング関係のうちのi-1番目のマッピング関係を更新して、前記N個のマッピング関係のうちのi番目のマッピング関係を得ることと、
iが第2種の数値である場合に、前記反転回路と前記探索アルゴリズムとに基づいて、前記i-1番目のマッピング関係を更新して、前記i番目のマッピング関係を得ることと、の少なくともいずれか一方を含む、
請求項12に記載の量子回路の処理装置。
【請求項14】
前記マッピング決定ユニットは、
前記N個のマッピング関係のうちの、コストが最も小さいマッピング関係を前記初期マッピング関係として決定することに用いられる、
請求項12又は13に記載の量子回路の処理装置。
【請求項15】
前記量子ゲート決定モジュールは、
前記量子回路におけるM個の目標量子ゲートに基づいて、M個の論理ビット対を決定するための論理ビット対ユニットであって、Mは正の整数であるユニットと、
前記初期マッピング関係に基づいて、前記M個の論理ビット対にそれぞれ対応するM個の物理ビット対を前記チップ結合図において決定するための物理ビット対ユニットと、
前記チップ結合図における各物理ビット間の連通関係に基づいて、隣接していない物理ビット対を前記M個の物理ビット対の中から決定するための物理選出ユニットと、
前記隣接しない物理ビット対に基づいて、前記M個の目標量子ゲートにおける実行不可能な目標量子ゲートを決定するための論理選出ユニットと、を備える、
請求項11から請求項14までのいずれか1項に記載の量子回路の処理装置。
【請求項16】
前記回路変換モジュールは、
前記初期マッピング関係に基づいて、前記実行不可能な目標量子ゲートが作用する第1論理ビットに対応する第1物理ビットを前記チップ結合図において決定するための第1ビット決定ユニットと、
前記第1物理ビットに隣接するK個の第2物理ビットを前記チップ結合図において決定し、前記初期マッピング関係の逆マッピング関係に基づいて、前記K個の第2物理ビットに対応するK個の第2論理ビットを決定するための第2ビット決定ユニットであって、Kは正の整数であるユニットと、
前記K個の第2論理ビットに基づいて、K個の交換ゲートを得るための交換ゲート決定ユニットと、
前記K個の交換ゲートのうちの、コストが最も小さい交換ゲートを前記量子回路に挿入するための交換ゲート挿入ユニットと、を備える、
請求項11から請求項15までのいずれか1項に記載の量子回路の処理装置。
【請求項17】
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサと通信接続されるメモリと、を備え、
前記メモリには、前記少なくとも1つのプロセッサで実行可能な命令が記憶され、前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、請求項1から請求項8のいずれか1項に記載の量子回路の処理方法を実行させる、
電子デバイス。
【請求項18】
コンピュータに請求項1から請求項8のいずれか1項に記載の量子回路の処理方法を実行させる命令を記憶した非一時的なコンピュータ可読記憶媒体。
【請求項19】
プロセッサにより実行された際に、コンピュータに、請求項1から請求項8のいずれか1項に記載の量子回路の処理方法を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、量子回路の分野に関し、特に量子回路測定の分野に関する。
【背景技術】
【0002】
NISQ(Noisy Intermediate-Scale Quantum、ノイズあり中規模量子)装置は、チップトポロジ論理の制約により、2つの量子ビット(qubit)に作用する量子ゲート操作はいくつかの特別に選択された隣接するビット対にしか適用できないよう制限される。量子回路で記述されたアルゴリズムを量子デバイス上で動作させるためには、量子回路が物理デバイスの制約を満たすと同時にその基本的な量子ゲートの数ができるだけ小さくなるように、量子回路を変換し、最適化する必要がある。量子回路の変換中に量子ビットマッピング(Qubit Mapping、即ち量子回路における各ビットと物理デバイスにおける各ビットとのマッピング関係)が更新され、マッピング更新後の量子ビットの順序が元の量子ビットの順序と異なるため、最終状態の測定結果の取得は極めて困難なこととなる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本開示は、量子回路の処理方法、装置、電子デバイス、記憶媒体、及びプログラムを提供する。
【課題を解決するための手段】
【0004】
本開示の1つの態様では、量子回路の処理方法を提供し、該方法は、量子回路における各論理ビットの第1測定順序を取得することと、各論理ビットと、チップ結合図における各物理ビットとの間の目標マッピング関係に基づいて、第1測定順序に対応する物理ビット順序を決定することであって、目標マッピング関係は、各論理ビットと各物理ビットとの間の初期マッピング関係に基づいて更新して得られることと、物理ビット順序及び初期マッピング関係に基づいて、量子回路の各論理ビットの第2測定順序を決定することと、第2測定順序に基づいて、量子回路を測定して、測定結果を得ることと、を含む。
【0005】
本開示のもう1つの様態では、量子回路の処理装置を提供し、該装置は、量子回路における各論理ビットの第1測定順序を取得するための順序取得モジュールと、各論理ビットと、チップ結合図における各物理ビットとの間の目標マッピング関係に基づいて、第1測定順序に対応する物理ビット順序を決定するための順序マッピングモジュールであって、目標マッピング関係は、各論理ビットと各物理ビットとの間の初期マッピング関係に基づいて更新して得られるモジュールと、物理ビット順序及び初期マッピング関係に基づいて、量子回路の各論理ビットの第2測定順序を決定するための順序決定モジュールと、第2測定順序に基づいて、量子回路を測定して、測定結果を得るための回路測定モジュールと、を備える。
【0006】
本開示のもう1つの様態では、電子デバイスを提供し、該デバイスは、少なくとも1つのプロセッサと、少なくとも1つのプロセッサに通信接続されるメモリと、を備え、メモリには、少なくとも1つのプロセッサにより実行可能な命令が記憶されており、命令は、少なくとも1つのプロセッサにより実行される際に、少なくとも1つのプロセッサに、本開示の任意の実施形態の方法を実行させる。
【0007】
本開示のもう1つの様態では、コンピュータ命令を記憶した非一時的なコンピュータ可読記憶媒体を提供し、該コンピュータ命令は、本開示の任意の実施形態の方法をコンピュータに実行させる。
【0008】
本開示のもう1つの様態では、プログラムを提供し、該プログラムは、プロセッサにより実行されると、コンピュータに、本開示の任意の実施形態の方法を実現させる。
【0009】
本開示の技術によれば、初期マッピング関係と更新によって得られた目標マッピング関係は、マッピング更新前後の量子回路における論理ビットとチップ結合図における物理ビットとの間のマッピング関係を明確に表すため、初期マッピング関係と目標マッピング関係とに基づいて、量子ビットマッピング後の量子回路に対して最終状態の測定を実現することができる。また、取得した第1測定順序に基づいて測定結果を出力することができ、特定の量子ビットの測定に対する異なる量子プログラムのニーズを満たすことができ、量子回路の利用可能性を高めることができる。
【0010】
ここに記載された内容は、本開示の実施形態のキーポイント又は重要な特徴を記述することを意図せず、また、本開示の範囲を制限することにも用いられないことを理解すべきである。本開示の他の特徴については、下記の明細書を通して説明を促す。
【図面の簡単な説明】
【0011】
添付図面は、本発明をより良く理解するためのものであり、本開示を限定するものではない。
図1】本開示の一実施形態による変換前量子回路の概略図である。
図2】本開示の一実施形態による変換後量子回路の概略図である。
図3】本開示の一実施形態による量子回路の処理方法の概略図である。
図4】本開示の一実施形態によるチップ結合図の概略図である。
図5】本開示の他の実施形態による量子回路の処理方法の第1概略図である。
図6】本開示の他の実施形態による量子回路の処理方法の第2概略図である。
図7】本開示のもう1つの実施形態による論理回路の概略図である。
図8】本開示のもう1つの実施形態によるチップ結合図の概略図である。
図9】本開示のもう1つの実施形態による物理回路の概略図である。
図10】本開示の一実施形態による量子回路の処理装置の概略図である。
図11】本開示の他の実施形態による量子回路の処理装置の概略図である。
図12】本開示の実施形態による量子回路の処理方法を実現するための電子デバイスのブロック図である。
【発明を実施するための形態】
【0012】
以下では、本開示の例示的な実施形態を、理解を容易にするために本開示の実施形態の様々な詳細を含む添付の図面に関連して説明するが、これらは単に例示的なものであると考えるべきである。したがって、当業者は、本開示の範囲及び精神を逸脱することなく、本明細書に記載された実施形態に様々な変更及び修正を加えることができることを認識すべきである。同様に、以下の説明では、周知の機能及び構成については、明確化及び簡明化のために説明を省略する。
【0013】
本開示の実施形態の技術方案の理解を容易にするために、以下本開示の実施形態の関連技術について説明するが、以下の関連技術は選択可能な案として本開示の実施形態の技術方案と任意に組み合わせることができ、いずれも本開示の実施形態の保護範囲に属する。
【0014】
本開示の実施形態において、量子回路とは、量子ビットに作用する、ある特定のアルゴリズムを記述するための回路をいう。物理的な制約を考慮しない場合、量子回路を論理回路LCと呼ぶことができ、その中の各量子ビットを論理ビット(論理qubit)と呼び、q,i∈{0,1,2,...,n}表記し、nは論理回路における論理ビットの数を表す。物理デバイス上の量子ビットを物理ビット(物理qubit)と呼び、Q,i∈{0,1,2,...,m}と表記し、mは物理ビットの数を表し、ここで、m≧nである。実際の応用では、量子回路を物理デバイスで動作させるために、量子回路における量子ビットと物理デバイスにおける量子ビットとの間のマッピングを確立する必要がある。しかし、物理デバイスにおけるチップ結合の連通性の制約により、一部の量子回路は物理デバイスで直接動作することができない。量子回路により記述されたアルゴリズムを量子デバイスで動作させるためには、量子回路を変換して最適化し、それに応じて量子ビットのマッピングを更新する必要がある。変換後に得られた、物理的制約を満たす量子回路は、物理デバイス上で実行可能な量子回路であり、物理回路PCと呼ぶことができる。
【0015】
関連技術では、量子回路を階層化し、さらに階層ごとに更新されたマッピングを探索する。層とは、量子回路内の一部の量子ゲート(以下、「ゲート」と略すことができる)の集合であり、1つの量子回路には複数の層を有することができ、これらの層の間には順序が存在し、各層が互いに交差せず、全ての層の和集合は、量子回路における全てのゲートの集合となる。層は次のように構成される。
【0016】
即ち、量子回路における全てのゲートを可能な限り入力側に移動させ、移動中に、qubitを共有するゲート同士が互いに交差しないようにし、同一ビットに作用するゲートは、左(入力)から右(出力)の順に異なる層に分けられる。
【0017】
量子回路の変換中に論理qubitを1つずつ物理qubitに対応させる必要があり、このような対応関係は変換中に量子回路に挿入される交換ゲート(SWAPゲート)の導入に伴い変換あるいは更新を生じる。この対応関係はマッピング関係とも呼ばれ、τと表記する。qとqとが異なる論理qubitである場合に、あるマッピング関係τに対して、τ(q)≠τ(q)を満たすべきである。
【0018】
比較的に先進的な統合式アルゴリズムでは、まず深さに基づいて量子回路を階層化して、更に階層ごとにA(A star、エースター)探索アルゴリズムを用いて更新されたマッピングを探索し、それに応じて量子回路を変換して最適化し、その最適化のテクニックとして展望性戦略(forward-looking strategy)を採用する。このアルゴリズムによって得られる出力回路は、より少ない量子ゲートとより小さい回路深さを有する。図1は最適化前の量子回路の例示的な概略図であり、量子ビット対に作用する複数の量子ゲートg、g、g、g、gを含み、3つの層l、l、lに分布されている。A探索アルゴリズムを用いてマッピングを更新した結果、図2に示す最適化後の量子回路の模式図が得られる。このように、量子ゲートの比較的多い回路は回路におけるゲートの個数を大幅に減らすことができるが、回路変換の実行時間を大幅に延長してしまうという欠点がある。
【0019】
例示的に、量子ビットのマッピングを決定する方法として以下を含む。
【0020】
(1)量子回路変換問題を変換し、最適化問題の求解ツールを用いて求解する。
【0021】
(2)ヒューリスティック探索アルゴリズムに基づいて決定する。A探索アルゴリズムと同様に、複数層のヒューリスティック関数を設計し、入力回路における異なる層の量子ゲートに対して異なる重みを定義する。
【0022】
上記の関連技術では、いずれも論理qubitから物理qubitへの初期マッピングを入力として探し、その後更新されたマッピングを探索する必要がある。初期マッピングの選出が異なると、後続の求解結果にも影響を与える。初期マッピングの決定方法には、貪欲アルゴリズムに基づく決定、最速サブグラフ同型性思想に基づく決定、シミュレーテッドアニーリング法に基づく決定などが含まれる。これらの初期マッピング方法は、一般的に全局的な最適化機能に欠けている。
【0023】
現在、上記のマッピング方法により出力された物理回路を測定し、特定の量子ビット順序に基づいて測定結果を得るための実現可能な解決策はまだない。
【0024】
本開示の実施形態に係る量子回路の処理方法は、上記の問題の少なくとも1つを解決するために用いられることができる。
【0025】
図3は本開示の一実施形態による量子回路の処理方法を示す。図3に示すように、この方法は、次のステップを含む。
【0026】
ステップS310において、量子回路における各論理ビットの第1測定順序を取得する。
【0027】
ステップS320において、各論理ビットと、チップ結合図における各物理ビットとの間の目標マッピング関係に基づいて、第1測定順序に対応する物理ビット順序を決定するが、ここで、目標マッピング関係は、各論理ビットと各物理ビットとの間の初期マッピング関係に基づいて更新して得られる。
【0028】
ステップS330において、物理ビット順序及び初期マッピング関係に基づいて、量子回路の各論理ビットの第2測定順序を決定する。
【0029】
ステップS340において、第2測定順序に基づいて、量子回路を測定して、測定結果を得る。
【0030】
例示的に、上記のステップを実行する前に、量子回路における各論理ビットとチップ結合図における各物理ビットとの間の初期マッピング関係に基づいて、量子回路に対して回路変換が実行されており、同時に対応するマッピング更新が実行されて目標マッピング関係が得られている。変換前の量子回路と変換後の量子回路とは、論理ビットと物理ビットのマッピング関係が異なるため、回路構成が異なるが、変換前後の量子回路は、同じアルゴリズムを記述するための等価回路であることを理解すべきである。
【0031】
例示的に、チップ結合図は、チップ上の各物理ビット間の結合関係又は連通関係を表すための、量子コンピュータなどの物理デバイスにおけるチップアーキテクチャ結合図を指すことができる。いくつかの応用シーンでは、チップ結合図における隣接する物理ビット対に作用する量子ゲートは実行可能であると共に、チップ結合図における隣接しない物理ビット対に作用する量子ゲートは実行不可能である。各論理ビットとチップ結合図における各物理ビットとの間の目標マッピング関係に基づいて、量子回路をチップ結合図に対応する物理デバイス上で実行することができる。
【0032】
例示的に、第1測定順序は、予め設定されたデフォルト順序又はユーザが指定した測定順序を含むことができる。具体的に、量子回路に論理ビットq、q、q、qが含まれる場合に、第1測定順序は、q、q、q、q又は、q、q、q、qなどであってもよい。目標マッピング関係に基づいて、第1測定順序における各論理ビットqiに対応する物理ビットQを得ることができるため、例えば、Q、Q、Q、Qのような物理ビット順序を得ることができる。初期マッピングに基づいて、物理ビットの順序における各物理ビットに対応する論理ビットを得ることができ、これにより、他の論理ビットの順序を第2測定順序として得ることができる。第2測定順序に基づいて量子回路を測定して、得られた測定結果は、第1測定順序に対応する測定結果である。
【0033】
このように、初期マッピング関係と更新により得られた目標マッピング関係は、マッピング更新前後の量子回路における論理ビットとチップ結合図における物理ビットとのマッピング関係を明確に表しているので、初期マッピング関係と目標マッピング関係とに基づいて、量子ビットマッピング後の量子回路に対して最終状態の測定を実現することができる。また、取得した第1測定順序に基づいて測定結果を出力することができ、特定の量子ビットの測定に対する異なる量子プログラムのニーズを満たすことができ、量子回路の利用可能性を高めることができる。
【0034】
例示的に、上記のステップのうち、物理ビット順序及び初期マッピング関係に基づいて、量子回路の各論理ビットの第2測定順序を決定することは、初期マッピング関係の逆マッピング関係を決定することであって、逆マッピング関係は、各物理ビットと各論理ビットとの間のマッピング関係であることと、逆マッピング関係に基づいて、物理ビット順序に対しマッピングを行い、各論理ビットの第2測定順序を得ることと、を含む。
【0035】
具体的に、初期マッピング関係は、論理ビットと物理ビットとの間のマッピング関係であってもよく、論理ビットに対応する物理ビットを決定することに用いられることができる。その逆マッピング関係は、物理ビットと論理ビットとのマッピング関係であってもよく、物理ビットに対応する論理ビットを決定することに用いられることができる。逆マッピングを決定することにより、物理ビット順序に基づいて対応する第2測定順序を正確に得ることができ、測定結果が正確であることを保証する。
【0036】
以下では、具体例を用いて、上記ステップの実装プロセスを説明する。
【0037】
量子回路に論理ビットq、q、q、qが含まれることを例にすると、マッピング更新前に、量子回路における各論理ビットとチップ結合図における各物理ビットとのマッピング関係が初期マッピング関係πinit:q→Q,q→Q,q→Q,q→Qとなる。
【0038】
初期マッピング関係πinitは次の表のとおりである。
【0039】
【表1】
マッピング更新後、量子回路における各論理ビットとチップ結合図における各物理ビットとのマッピング関係が目標マッピング関係π:q→Q,q→Q,q→Q,q→Qとなる。
【0040】
目標マッピング関係πは、次の表のとおりである。
【0041】
【表2】
上述した方法によれば、まず、ステップS310に従って、第1測定順序として、例えば、ユーザが入力した順序q、q、q、qを取得する。
【0042】
次に、ステップS320に従って、表2に示された目標マッピング関係に基づいて、第1測定順序q、q、q、qに対応する物理ビット順序であるQ、Q、Q、Qを得ることができる。
【0043】
そして、ステップS330に従って、表1に示された初期マッピング関係の逆マッピング
【0044】
【数1】
に基づいて、物理ビット順序Q、Q、Q、Qに対応する第2測定順序q、q、q、qを得る。
【0045】
最後に、ステップS340に従って、論理ビットq、q、q、qの最終状態の測定を順次に行って、得られた測定結果は、ユーザが意図したq、q、q、qの測定結果である。
【0046】
ユーザが第1測定順序を入力しない場合には、第1測定順序としてデフォルトの順序を採用し、例えばq、q、q、qを第1測定順序として上記のように測定結果を出力してもよい。
【0047】
このように、上記の方法はマッピング後の物理回路の最終状態の測定を実現し、元の論理回路の論理ビットの順序で測定結果を出力することができるのみならず、任意のビット順序で測定結果を出力することを革新的に実現した。特定の量子ビットの測定に対する各量子プログラムのニーズを満たすとともに、固有量子ビット回路の利用可能性を大幅に高める。
【0048】
本開示の実施形態はまた、マッピング更新時の探索空間を低減し、回路変換の時間を短縮するために、目標マッピング関係のいくつかの例示的な取得方法を提供する。
【0049】
例示的に、上記の方法は、目標マッピング関係を取得する方法をさらに含み、目標マッピング関係を取得する方法は、各論理ビットと各物理ビットとの間の初期マッピング関係を決定することと、初期マッピング関係とチップ結合図とに基づいて、量子回路における実行不可能な目標量子ゲートを決定することと、実行不可能な目標量子ゲートに基づいて、交換ゲートを量子回路に挿入することと、交換ゲートに基づいて、初期マッピング関係を更新して、目標マッピング関係を得ることと、を含む。
【0050】
例示的に、初期マッピング関係は、ランダムに決定されてもよく、前述の説明における貪欲アルゴリズム、最速サブグラフ同型法、シミュレーテッドアニーリングなどの方法を用いて決定されてもよい。
【0051】
例示的に、目標量子ゲートは、チップ結合図における特定の物理ビットに作用する必要がある量子ゲートを含むことができる。例えば、隣接する2つの物理ビットに作用する必要がある、CNOTゲート(Control-NOT gate、制御NOTゲート)のような量子ゲートである。本開示の実施形態では、目標量子ゲートによって作用されるビットの対は、ビット対と呼ばれることができる。例えば、上記の2つの物理ビットは、物理ビット対と呼ばれることができる。
【0052】
量子回路では、目標量子ゲートが特定の物理ビットに作用していなければ、目標量子ゲートは実行不可能となる。例えば、CNOTゲートが論理ビットq、qに作用するが、q、qの対応する物理ビットがチップ結合図において隣接していない場合、CNOTゲートは実行できない。
【0053】
例示的に、チップ結合図は、無向グラフで表すことができる。チップ結合図には各物理ビットの連通関係が含まれているため、初期マッピング関係とチップ結合図とに基づいて、量子回路において実行不可能な目標量子ゲートを決定することができる。
【0054】
例示的に、交換ゲート、すなわちSwapゲートは、2つの量子ビットを交換するために使用されてもよい。SWAPは、一般的に、物理的に直接実装されるか、CNOT接合されるか、iSWAPなどのゲートを使用して実装される。量子回路に交換ゲートを挿入して、それに応じて論理ビットと物理ビットとの間のマッピング関係を更新することで、目標量子ゲートが作用する論理ビット対に対応する2つの物理ビットを互いに近づけると共に、量子回路変換後の等価性を保証することができ、物理デバイス上で実現可能な量子回路への変換に有利である。
【0055】
例示的に、初期マッピング関係とチップ結合図とに基づいて、量子回路において実行不可能な目標量子ゲートを決定するステップは、量子回路におけるM個の目標量子ゲートに基づいて、M個の論理ビット対を決定することとであって、Mは正の整数であることと、初期マッピング関係に基づいて、M個の論理ビット対にそれぞれ対応するM個の物理ビット対をチップ結合図において決定することと、チップ結合図における各物理ビット間の連通関係に基づいて、隣接していない物理ビット対をM個の物理ビット対の中から決定することと、隣接しない物理ビット対に基づいて、M個の目標量子ゲートにおける実行不可能な目標量子ゲートを決定することと、を含む。
【0056】
例えば、M=2であり、量子回路は、第1CNOTゲートと第2CNOTゲートとを含み、第1CNOTゲートは論理ビット対(q,q)に作用し、第2CNOTゲートは論理ビット対(q,q)に作用する。初期マッピング関係に基づいて、q、q、qの対応する物理ビットがそれぞれQ、Q、Qである場合、M個の物理ビット対のうちの第1物理ビット対は(Q,Q)、第2物理ビット対は(Q,Q)となる。チップ結合図において、Q、Q、Qが直列である場合、隣接していない物理ビット対(Q、Q)は、チップ結合図に基づいて決定され、対応する論理ビット対は(q、q)であり、(q、q)に作用する第2CNOTゲートは実行不可能な量子ゲートである。
【0057】
上記方法によれば、量子回路における実行不可能な目標量子ゲートまでトラバースすることができるので、実行不可能な目標量子ゲートに基づいて回路を処理し、マッピングを更新することができ、量子回路を物理装置上で実現するのに有利である。
【0058】
実際に応用する時、非巡回有向グラフ(Directed Acyclic Graph,DAG)で量子回路における目標量子ゲート間の実行制約を表すことができる。単一量子ビットゲートは常に1つの量子ビット上で実行できるため、単一量子ビットゲートは考慮されない。2量子ビットゲートCNOT(q,q)は、q又はqより前の全てのゲート(先行ゲート)が実行された後にのみ実行でき、したがって、量子回路全体をトラバースすると、複雑度がO(g)である目標量子ゲートの実行依存関係を表すDAGを構築することができる。すなわち、DAGは複数の目標量子ゲートgの有向グラフである。
【0059】
前層(Fと表記)は、量子回路の全ゲートのうち、未実行の先行ゲートを持たないゲートの集合として定義される。目標量子ゲートである2量子ビットゲートCNOT(q,q)は、q又はqより前の全てのゲート(先行ゲート)が実行された後に、前層Fに配置することができる。量子回路のDAGグラフを調べることにより、グラフ中の、エントリー数が0の頂点を全て選択してFを加えることにより、Fを初期化することができる。
【0060】
前層の更新により、全ての実行不可能な目標量子ゲートを決定することができる。まずFの中に、チップ上で直接実行できる目標量子ゲートがあるか否かをチェックする。そうである場合には、F中の実行可能な目標量子ゲートを実行して、それらの目標量子ゲートをFから除去した後、後続ゲートをチェックして、Fの要件を満たす後続ゲートをFに追加する。Fの中の全ての目標量子ゲートがチップ上で実行不可能である場合には、全ての実行不可能な目標量子ゲートを決定して、実行不可能な目標量子ゲートに基づいてSwapゲートを回路に挿入し、マッピングを更新する。実行不可能な目標量子ゲートを決定する詳細な手順は以下のとおりである。
【0061】
ステップ1において、まずFが空であるか否かをチェックし、空である場合には、回路中の全てのゲートがチップ上で直接実行可能であることを示し、アルゴリズムが終了する。そうでない場合には、実行可能リストを初期化し、Fの中のチップ上で直接実行可能なゲートを実行可能リストに加える。
【0062】
ステップ2において、実行可能リスト中のゲートをFから削除する。これらの実行可能なゲートの後続ゲートをチェックする。Fの要件を満たす後続ゲートを加える。このとき、実行可能リストが空になり、Fの中の全てのゲートが論理回路では実行可能であるがチップ上では実行不可能となるまで、ステップ1に戻る。
【0063】
具体的に、Fの中のゲートを実行可能リストに加える根拠は次のとおりである。Fの中のゲートgについて、量子回路において作用される論理ビット対を(q,q)とし、そのときのマッピング関係を利用して(q,q)に対応するチップ上の物理ビット対(Q,Q)=[π(q),π(q)]を探す。チップ結合図においてQとQが一辺で結ばれている場合に、(q,q)に作用する目標量子ゲートgはチップ上で直接実行できるため、実行可能リストに加えることができる。
【0064】
実行可能なゲートの後続ゲートgについて、gが(q,q)に作用する例として、それをFに加えることができるか否かの規則は以下のとおりである。Fの中の各ゲートをチェックし、全てのゲートがq又はqに作用していない場合、gをFに加えることができる。
【0065】
例示的に、実行不可能な目標量子ゲートを決定した後、実行不可能な目標量子ゲートに基づいて、交換ゲートを量子回路内に挿入することは、初期マッピング関係に基づいて、実行不可能な目標量子ゲートが作用する第1論理ビットに対応する第1物理ビットをチップ結合図において決定することと、第1物理ビットに隣接するK個の第2物理ビットをチップ結合図において決定することであって、Kは正の整数であることと、初期マッピング関係の逆マッピング関係に基づいて、K個の第2物理ビットに対応するK個の第2論理ビットを決定することと、K個の第2論理ビットに基づいて、K個の交換ゲートを得ることと、K個の交換ゲートのうちの、コストが最も小さい交換ゲートを量子回路に挿入することと、を含む。
【0066】
例示的に、第1論理ビットは、目標量子ゲートが作用する論理ビット対のうちの1つの論理ビットである。実行不可能な目標量子ゲートが(q,q)に作用する場合、ここでqは第1論理ビットである。初期マッピング関係に基づいて、チップ結合図Gにおいてqと対応する物理ビットをQ=π(q)と仮定すると、チップ結合図においてQに隣接する全ての物理ビットQj1,Qj2,...,Qjkが選択される。
【0067】
逆マッピングを使用して、対応する論理ビットqi1,qi2,...,qik=π-1(Qj1),π-1(Qj2),...,π-1(Qjk)を見つける。論理ビットqi1,qi2,...,qikに基づいて、論理ビット対(q,qi1),(q,qi2),...,(q,qik)にそれぞれ作用する交換ゲートSwapが得られる。これらの交換ゲートに対応する物理ビットは、チップ結合図Gにおいて辺で連結されているので、これらのビット対に作用する交換ゲートSwapがサポートされる。上記の交換ゲートは交換ゲート候補リスト(Swaps候補リスト)に加えることができる。そして、交換ゲート候補リストから量子回路に挿入される交換ゲートを決定する。
【0068】
なお、上述したK個の交換ゲートの各々のコストは、交換ゲートが作用する論理ビットの優先度、その交換ゲートによって生じる後続の挿入交換ゲートの数、交換ゲートの挿入によって消費されるリソースなどの情報に基づいて決定されてもよい。例えば、前層FにCNOT(q,q)及びCNOT(q,q)が含まれる場合、それらの対応する物理ビット対は、図4に示すチップ結合図において、いずれも連結されていない。qとqとが交換されると、qがqに隣接し、qがqに隣接するため、交換ゲートの挿入回数が最も少なく、消費される資源も最も少なく、交換後のCONTゲートに作用されるビットも優先度が低いビットではないため、交換ゲート候補リストから、(q,q)に作用する交換ゲートを選択して量子回路に挿入する。
【0069】
以上の方法に基づいて、量子回路に挿入された交換ゲートに対して効果評価を総合的に行い、最適な変換を選択し、物理的制約を満たす回路を出力することができることが分かる。
【0070】
実際の応用において、ヒューリスティック探索、暴力探索、ランダム探索あるいは勾配探索などの方法に基づいてF層を反復し、量子回路に対する変換を完成することができる。具体的に、ヒューリスティック探索はF層が空になるまで反復され、これは回路内のゲートが全て実行され、アルゴリズムが終了することを意味する。反復ごとに、まずFの中に、チップ上で直接実行できるゲートがあるか否かをチェックする。そうである場合には、それらのゲートをFから除去した後、後続ゲートをチェックして、Fの要件を満たす後続ゲートをFに追加する。Fの中の全てのゲートがチップ上で実行不可能である場合には、Swapゲートを回路に挿入し、マッピングを更新する必要がある。詳細な手順は以下のとおりである。
【0071】
ステップ1において、まずFが空であるか否かをチェックし、空である場合には、回路中の全てのゲートがチップ上で直接実行可能であることを示し、アルゴリズムが終了する。そうでない場合には、実行可能リストを初期化し、Fの中のチップ上で直接実行可能なゲートを実行可能リストに加える。
【0072】
ステップ2において、実行可能リスト中のゲートをFから削除する。これらの実行可能なゲートの後続ゲートをチェックする。Fの要件を満たす後続ゲートを加える。このとき、実行可能リストが空になるまで、ステップ1に戻り、Fの中の全てのゲートが論理回路では実行可能であるがチップ上では実行不可能となると、次のステップに移行する。
【0073】
ステップ3において、Fの中のゲートgに対して、gが作用する論理ビットを互いに近付けるために、物理回路中にSwapゲートを挿入する。Swapを挿入する方法に従って、選択可能なSwapをSwaps候補リストに加える。
【0074】
ステップ4において、Swaps候補リスト中のSwapに対して、ヒューリスティック法によるコストを計算し、最もコストの低いSwapを選択してマッピングπを更新する。
【0075】
ステップ5において、マッピングを更新した後、ステップ1へ移行し、Fが空になり、アルゴリズムが終了し、変換を完成した量子回路及び目標マッピング関係である最終マッピングを出力するまで続ける。
【0076】
これにより、量子回路の変換及びマッピング更新の際に、追加的に挿入する必要があるSwapゲートは少ない。
【0077】
本開示の実施形態はまた、初期マッピング関係を決定する例示的かつ選択的な方法を提供する。例示的に、各論理ビットと各物理ビットとの間の初期マッピング関係を決定することは、量子回路における目標量子ゲートに基づいて、簡易量子回路及び簡易量子回路の反転回路を得ることと、簡易量子回路と反転回路とに基づいて、N回の反復処理を行って、N個のマッピング関係を得ることであって、Nは2以上の整数であることと、初期マッピング関係をN個のマッピング関係の中から決定することと、を含む。
【0078】
例示的に、目標量子ゲートは2ビット量子ゲートであり、量子回路における単一量子ビットゲートを除去して、2ビット量子ゲートのみを残すことで、簡易量子回路を得ることができる。簡易量子回路に基づいて初期マッピング関係を決定することにより、効率を向上させることができる。
【0079】
初期マッピング関係は量子回路のオーバーヘッドに決定的な影響を与えるため、全局的に考慮したうえで初期マッピング関係を提供すると望ましい効果が得られることが多い。古典的な回路やプログラムとは異なり、量子回路は可逆的であり、ある量子回路とその反転回路の両方で良好な効果が得られるマッピング関係が望ましいと考えられる。これに基づいて、上述した実施の形態では、簡易量子回路とその反転回路とに基づいて反復を行い、複数のマッピング関係を得てその中から最適なものを選択することで、初期マッピング関係を全局的に最適化とすることができ、回路変換及びマッピング更新の計算オーバーヘッドを低減することができる。
【0080】
例示的に、N回の反復処理のうちのi回目の反復処理は、iが第1種の数値である場合に、簡易量子回路と予め設定された探索アルゴリズムとに基づいて、N個のマッピング関係のうちのi-1番目のマッピング関係を更新して、N個のマッピング関係のうちのi番目のマッピング関係を得ること、及び/又は、iが第2種の数値である場合に、反転回路と探索アルゴリズムとに基づいて、i-1番目のマッピング関係を更新して、i番目のマッピング関係を得ること、を含む。
【0081】
例示的に、第1種の数値は奇数であり、第2種の数値は偶数であってもよい。あるいは、第1種の数値は偶数であり、第2種の数値は奇数であってもよい。
【0082】
以上の方法によれば、マッピング関係に対して反復更新が行われ、前回決定されたマッピング関係に基づいてマッピング関係が反復更新され、かつ前回の反復に対して逆反復が実行される。このように、正逆の両方向とも良好なマッピング関係を得ることができる。
【0083】
例示的に、上記の予め設定された探索アルゴリズムは、上述したヒューリスティック探索や、A探索などのアルゴリズムであってもよい。
【0084】
例えば、最初の反復の実行を容易にするために、反復を実行する前に、0番目のマッピング関係がランダムに生成されてもよく、又はデフォルトの方法で生成されることができる。
【0085】
例示的に、初期マッピング関係をN個のマッピング関係の中から決定することは、N個のマッピング関係のうちの、コストが最も小さいマッピング関係を初期マッピング関係として決定すること、を含む。
【0086】
初期マッピング関係としてコストが最も小さいマッピング関係を選択することで、回路変換やマッピング更新の計算オーバーヘッドを効果的に低減することができる。
【0087】
具体的な適用例としては、次のように示す。
【0088】
ステップ1において、回路における単一量子ビットゲートを除去し、2ビット量子ゲートだけを残した回路を簡易量子回路LCと表記する。そして、LCの反転回路を決定し、RE_LCと表記し、LCとRE_LCのDAGグラフを描く。
【0089】
ステップ2において、初期マッピングをランダムに生成し、Swapに基づくヒューリスティック探索アルゴリズムを呼び出してLCをトラバースし、最終マッピングを得る。
【0090】
ステップ3において、ステップ2で得られた最終マッピングをRE_LCの初期マッピングとし、SWAPに基づくヒューリスティック探索アルゴリズムを呼び出して反転回路RE_LCをトラバースし、最終マッピングを得る。
【0091】
ステップ4において、ステップ3で得られた最終マッピングをLCの初期マッピングとし、K(K=10)回反復して、得られた複数の最終マッピングから最終的な初期マッピング関係を決定する。ここで、ステップ1~ステップ4においてマッピング関係を取得する反復処理が2回行われたため、K=2Nとなり、Nは前述の反復処理の回数である。
【0092】
最終的に得られる初期マッピングは、回路における2ビット量子ゲートを全局的に考慮したため、より良い品質を有する。なお、ステップ4において反復回数は10回に設定されており、規模の小さい回路では10回の反復で十分であるが、回路が大きい場合には、それに応じて反復回数を高くして高品質の初期マッピングを得る必要がある。
【0093】
図5は本開示の実施形態の完全な例を示す概略図である。図5に示されるように、該方法は、以下を含む。
【0094】
S51において、量子回路と第1測定順序とを入力し、QPU(Quantum Processing Unit、量子処理ユニット)で量子回路を動作させると選択する。
【0095】
S52において、入力された回路が物理デバイスで動作可能な回路であるか否かを判定し、そうである場合、S46へ移行する。それ以外の場合は、次のステップに進む。
【0096】
S53において、マッピングモジュールを呼び出す。
【0097】
S54において、マッピングを更新し、マッピングと交換ゲートとに基づいて量子回路を論理回路から物理回路に変換し、目標マッピング関係を得る。
【0098】
S55において、初期マッピング関係、目標マッピング関係、第1測定順序に基づいて、測定結果と第1測定順序とを対応付けるように第2測定順序を決定する。
【0099】
S56において、回路を動作させ、結果を出力する。
【0100】
ここで、マッピングモジュールを呼び出した後に実行するS54の具体的な処理は、図6に示すものを参照することができる。
【0101】
S601において、反復回数K、前層F、初期マッピングπ、距離行列AD、量子回路のDAG、チップ論理図G、簡易量子回路LCを入力する。
【0102】
S602において、反転回路RE?LC及び反転回路のDAGを生成し、反転回路の前層RE-Fを取得する。
【0103】
S603において、K回反復したか否かを判断する。そうである場合にS608へ移行し、そうでない場合にS604を実行する。
【0104】
S604において、表層F、初期マッピングπ、距離行列AD、量子回路のDAG、チップ論理図Gに基づいてSwapに基づくヒューリスティック探索アルゴリズムS(F,π,AD,DAG,G)を実行して、最終マッピングを得る。
【0105】
S605において、得られた最終マッピングを用いて逆マッピングRE-πを更新する。
【0106】
S606において、反転回路の表層F、逆マッピングRE-π、距離行列AD、反転回路のDAG、チップ論理グラフGに基づいて、Swapに基づくヒューリスティック探索アルゴリズムS(RE-F,RE-π,AD,RE-DAG,G)を実行して、最終マッピングを得る。
【0107】
S607において、得られた最終マッピングを用いてπを更新し、S603へ戻る。
【0108】
S608において、K回反復して得られた2K個のマッピングの中から、Swapゲートが最も少なく挿入されているマッピングを初期マッピングπとして見つける。
【0109】
S609において、前層F、初期マッピングπ、距離行列AD、量子回路のDAG、チップ論理図Gに基づいてSwapに基づくヒューリスティック探索アルゴリズムS(F,π,AD,DAG,G)を実行する。
【0110】
S610において、初期マッピング、目標マッピング、Swapゲートが挿入された後の量子回路を出力する。マッピング処理を終了する。
【0111】
以下において、具体的な応用例を用いて、上記量子回路のマッピング更新及び回路変換プロセスについて説明する。図7は、この例における変換前の量子回路を示しており、この量子回路は物理デバイス上で実行することができない論理回路である。
【0112】
説明の便宜上、図7において左から右への7つのCNOTゲートをそれぞれg,g,...,gと表記する。
【0113】
チップ結合レイアウトが線形であると仮定すると、チップ結合図は図8のようになる。図7の回路及び反転回路に基づいて、逆トラバースでは、πinit:q→Qi0、q→Qi1、q→Qi2、q→Qi3を初期マッピングとして決定し、ここで、下つきの添字i0、i1、i2及びi3が{0,1,2,3}の或る配列である。この例では、初期マッピングはπinit:q→Qi0、q→Qi1、q→Qi2、q→Qi3になる。
【0114】
次に、図7の論理回路における各ゲートの物理回路における表現を分析する。
【0115】
はq、qに作用し、初期マッピングでは、Q、Qに対応する。QとQとはチップ結合図において隣接し、2ビットゲート(目標量子ゲート)は作用することができる。
【0116】
、gの場合もgと同様である。
【0117】
はq、qに作用し、初期マッピングにおいて、Q、Qに対応する。QとQとはチップ結合図において隣接しておらず、2ビットゲートは作用することができない。従って、Swapゲートを挿入する必要があり、探索アルゴリズムにより、q、qにSwapゲートを作用させ、それに応じて、マッピング関係を更新し、π:q→Q、q→Q、q→Q、q→Qと表記する。このとき、gはq、qに作用し、対応する物理ビットはQ、Qであり、それらはチップ結合図Gにおいて隣接し、2ビットゲートは作用することができる。
【0118】
マッピングπにおいて、g、g、gはともに物理的制約を満たすため、直接作用することができる。
【0119】
はq、qに作用し、マッピングπにおいて、Q、Qに対応する。QとQとはチップ結合図において隣接しておらず、2ビットゲートは作用することができない。従って、Swapゲートを挿入する必要があり、探索アルゴリズムにより、q、qにSwapゲートを作用させ、それに応じて、マッピング関係を更新し、π:q→Q,q→Q,q→Q,q→Qと表記する。このとき、gはq、qに作用し、対応する物理ビットは、Q、Qであり、それらはチップ結合図Gにおいて隣接し、2ビットゲートを作用させることができる。
【0120】
この変換に基づいて、図9に示された変換済み量子回路が得られ、この回路は物理デバイス上で実行可能な物理回路である。この物理回路に対する測定は、前述の実施形態を参照して実現することができる。
【0121】
このように、本開示の方法によれば、初期マッピング関係と更新により得られた目標マッピング関係は、マッピング更新前後の量子回路における論理ビットとチップ結合図における物理ビットとの間のマッピング関係を明確に表すため、初期マッピング関係と目標マッピング関係とに基づいて、量子ビットマッピング後の量子回路に対して最終状態の測定を実現することができる。また、取得した第1測定順序に基づいて測定結果を出力することができ、特定の量子ビットの測定に対する異なる量子プログラムのニーズを満たすことができ、量子回路の利用可能性を高めることができる。
【0122】
上記の方法を実現するために、本開示の実施形態は、図10に示すように、量子回路の処理装置をさらに提供し、この装置は、量子回路における各論理ビットの第1測定順序を取得するための順序取得モジュール1010と、各論理ビットと、チップ結合図における各物理ビットとの間の目標マッピング関係に基づいて、第1測定順序に対応する物理ビット順序を決定するための順序マッピングモジュール1020であって、目標マッピング関係は、各論理ビットと各物理ビットとの間の初期マッピング関係に基づいて更新して得られるモジュールと、物理ビット順序及び初期マッピング関係に基づいて、量子回路の各論理ビットの第2測定順序を決定するための順序決定モジュール1030と、第2測定順序に基づいて、量子回路を測定して、測定結果を得るための回路測定モジュール1040と、を備える。
【0123】
例示的に、図11に示すように、順序決定モジュール1030は、初期マッピング関係の逆マッピング関係を決定するための逆マッピング決定ユニット1031であって、逆マッピング関係は、各物理ビットと各論理ビットとの間のマッピング関係であるモジュールと、逆マッピング関係に基づいて、物理ビット順序に対しマッピングを行い、各論理ビットの第2測定順序を得るためのマッピング処理ユニット1032と、を備える。
【0124】
例示的に、図11に示すように、量子回路の処理装置は、各論理ビットと各物理ビットとの間の初期マッピング関係を決定するための初期マッピングモジュール1150と、初期マッピング関係とチップ結合図とに基づいて、量子回路における実行不可能な目標量子ゲートを決定するための量子ゲート決定モジュール1160と、実行不可能な目標量子ゲートに基づいて、交換ゲートを量子回路に挿入するための回路変換モジュール1170と、交換ゲートに基づいて、初期マッピング関係を更新して、目標マッピング関係を得るためのマッピング更新モジュール1180と、をさらに備える。
【0125】
ここで、図11に示すように、初期マッピングモジュール1150は、量子回路における目標量子ゲートに基づいて、簡易量子回路及び簡易量子回路の反転回路を得るための回路簡易化ユニット1151と、簡易量子回路と反転回路とに基づいて、N回の反復処理を行って、N個のマッピング関係を得るための反復処理ユニット1152であって、Nは2以上の整数であるユニットと、初期マッピング関係をN個のマッピング関係の中から決定するためのマッピング決定ユニット1153と、を備える。
【0126】
ここで、N回の反復処理のうちのi回目の反復処理は、iが第1種の数値である場合に、簡易量子回路と予め設定された探索アルゴリズムとに基づいて、N個のマッピング関係のうちのi-1番目のマッピング関係を更新して、N個のマッピング関係のうちのi番目のマッピング関係を得ること、及び/又は、iが第2種の数値である場合に、反転回路と探索アルゴリズムとに基づいて、i-1番目のマッピング関係を更新して、i番目のマッピング関係を得ること、を含む。
【0127】
例示的に、マッピング決定ユニット1153は、具体的に、N個のマッピング関係のうちの、コストが最も小さいマッピング関係を初期マッピング関係として決定することに用いられる。
【0128】
ここで、図11に示すように、量子ゲート決定モジュール1160は、量子回路におけるM個の目標量子ゲートに基づいて、M個の論理ビット対を決定するための論理ビット対ユニット1161であって、Mは正の整数であるユニットと、初期マッピング関係に基づいて、M個の論理ビット対にそれぞれ対応するM個の物理ビット対をチップ結合図において決定するための物理ビット対ユニット1162と、チップ結合図における各物理ビット間の連通関係に基づいて、隣接していない物理ビット対をM個の物理ビット対の中から決定するための物理選出ユニット1163と、隣接しない物理ビット対に基づいて、M個の目標量子ゲートにおける実行不可能な目標量子ゲートを決定するための論理選出ユニット1164と、を備える。
【0129】
ここで、図11に示すように、回路変換モジュール1170は、初期マッピング関係に基づいて、実行不可能な目標量子ゲートが作用する第1論理ビットに対応する第1物理ビットをチップ結合図において決定するための第1ビット決定ユニット1171と、第1物理ビットに隣接するK個の第2物理ビットをチップ結合図において決定し、初期マッピング関係の逆マッピング関係に基づいて、K個の第2物理ビットに対応するK個の第2論理ビットを決定するための第2ビット決定ユニット1172であって、Kは正の整数であるユニットと、K個の第2論理ビットに基づいて、K個の交換ゲートを得るための交換ゲート決定ユニット1173と、K個の交換ゲートのうちの、コストが最も小さい交換ゲートを量子回路に挿入するための交換ゲート挿入ユニット1174と、を備える。
【0130】
本開示の実施形態による各装置における各ユニット、モジュール、又はサブモジュールの機能は、上記の方法の実施形態における対応する説明を参照することができ、ここでは言及しない。
【0131】
本開示の実施形態によれば、本開示は、電子デバイス、読取可能記憶媒体及びプログラムをさらに提供する。
【0132】
図12は、本開示の実施形態を実現するための例示的電子デバイス1200のブロック図である。電子デバイスは、各形式のデジタルコンピュータを指し、例えば、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、大型コンピュータ、及びその他の適合するコンピュータが挙げられる。電子デバイスは、各形式の移動装置をさらに指し、例えば、パーソナルデジタルアシスタント、セルラー電話、スマートフォン、ウェアラブルデバイス、及びその他の類似のコンピュータ装置が挙げられる。本開示に記載されているコンポーネント、それらの接続関係、及び機能は例示的なものに過ぎず、本開示に記載・特定されているものの実現を限定するわけではない。
【0133】
図12に示すように、デバイス1200は、リードオンリーメモリ(ROM)1202に記憶されたコンピュータプログラム命令、又は記憶ユニット1208からランダムアクセスメモリ(RAM)1203にローディングされたコンピュータプログラム命令に基づいて、各種の適切な動作と処理を実行できるコンピューティングユニット1201を含む。RAM1203には、デバイス1200の動作に必要な各種のプログラム及びデータをさらに記憶することができる。コンピューティングユニット1201と、ROM1202と、RAM1203とは、バス1204を介して互いに接続されている。入力/出力(I/O)インタフェース1205もバス1204に接続されている。
【0134】
デバイス1200における複数のコンポーネントは、I/Oインタフェース1205に接続されており、その複数のコンポーネントは、キーボードやマウスなどの入力ユニット1206と、種々なディスプレイやスピーカなどの出力ユニット1207と、磁気ディスクや光学ディスクなどの記憶ユニット1208と、ネットワークカード、モデム、無線通信トランシーバーなどの通信ユニット1209と、を備える。通信ユニット1209は、デバイス1200がインターネットのようなコンピュータネット及び/又は種々なキャリアネットワークを介して他の機器と情報/データを交換することを許可する。
【0135】
コンピューティングユニット1201は、処理及び計算能力を有する様々な汎用及び/又は専用の処理コンポーネントであってもよい。コンピューティングユニット1201のいくつかの例としては、中央処理装置(CPU)、グラフィックス処理ユニット(GPU)、様々な専用の人工知能(AI)計算チップ、様々な機械学習モデルアルゴリズムを実行するコンピューティングユニット、デジタル信号プロセッサ(DSP)、及び任意の適切なプロセッサ、コントローラ、マイクロコントローラなどを備えるが、これらに限定されない。コンピューティングユニット1201は、上述で説明された各方法及び処理、例えば量子回路の処理方法を実行する。例えば、いくつかの実施形態では、量子回路の処理方法を、記憶ユニット1208のような機械読み取り可能な媒体に有形的に含まれるコンピュータソフトウエアプログラムとして実現することができる。一部の実施形態では、コンピュータプログラムの一部又は全ては、ROM1202及び/又は通信ユニット1209を介して、デバイス1200にロード及び/又はインストールすることができる。コンピュータプログラムがRAM1203にロードされてコンピューティングユニット1201によって実行される場合に、前述した量子回路の処理方法の一つ又は複数のステップを実行することができる。追加可能に、他の実施形態では、コンピューティングユニット1201は、他の任意の適当な方式(例えば、ファームウェア)により量子回路の処理方法を実行するように構成することができる。
【0136】
ここで記載されているシステム又は技術の各種の実施形態は、デジタル電子回路システム、集積回路システム、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準品(ASSP)、システムオンチップ(SOC)、コンプレックスプログラマブルロジックデバイス(CPLD)、コンピュータのハードウェア、ファームウェア、ソフトウェア、及び/又はこれらの組み合わせによって実現することができる。これらの各実施形態は、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステムにて実行及び/又は解釈される1つ又は複数のコンピュータプログラムにより実行することを含み得、該プログラマブルプロセッサは、ストレージシステム、少なくとも1つの入力デバイス、及び少なくとも1つの出力デバイスからデータ及び命令を受け取り、データ及び命令を該ストレージシステム、該少なくとも1つの入力デバイス、及び該少なくとも1つの出力デバイスに転送することができる専用又は汎用のプログラマブルプロセッサであってもよい。
【0137】
本開示の方法を実行するためのプログラムコードは、一つ又は複数のプログラミング言語の任意の組み合わせで作成することができる。これらのプログラムコードは、汎用コンピュータ、専用コンピュータ又は他のプログラミングデータ処理装置のプロセッサ又はコントローラに提供されることにより、プログラムコードがプロセッサ又はコントローラによって実行される場合に、フローチャート及び/又はブロック図に規定された機能/動作を実行することができる。プログラムコードは、完全にマシンで実行されてもよいし、部分的にマシンで実行されてもよいし、独立したソフトパッケージとして部分的にマシンで実行されるとともに部分的にリモートマシンで実行されてもよし、又は完全にリモートマシン又はサーバで実行されてもよい。
【0138】
本開示の説明において、機械読み取り可能な媒体は、有形な媒体であってもよく、命令実行システム、装置又は機器によって、又は命令実行システム、装置又は機器と合わせて使用されるプログラムを含み、又は記憶する。機械読み取り可能な媒体は、機械読み取り可能な信号媒体又は機械読み取り可能な記憶媒体であってもよい。機械読み取り可能な媒体は、電子、磁気、光学、電磁、赤外線、又は半導体システム、装置、又はデバイス、又は前述した内容の任意の適切な組み合わせを含むことができるがこれらに限定されない。機械読み取り可能な記憶媒体のさらなる具体例として、1つ又は複数の配線による電気的接続、ポータブルコンピュータディスクカートリッジ、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(RMO)、消去可能なプログラマブルリードオンリーメモリ(EPRMO又はフラッシュメモリ)、光ファイバー、ポータブルコンパクトディスクリードオンリーメモリ(CD-RMO)、光学記憶装置、磁気記憶装置、又は前述した内容の任意の組み合わせを含む。
【0139】
ユーザとのインタラクションを提供するために、コンピュータでここで記載されているシステム及び技術を実施することができ、該コンピュータは、ユーザに情報を表示するための表示装置(例えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)モニターなど)、ユーザが入力をコンピュータに提供するためのキーボード及びポインティングデバイス(例えば、マウス又はトラックボールなど)を備えるができる。ユーザとのインタラクションを提供するために、他の種類の装置を使用することもでき、例えば、ユーザに提供するフィードバックは、いかなる形式のセンサーフィードバック(例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバックなど)であってもよく、また、いかなる形式(例えば、音響入力、音声入力、触覚入力など)によって、ユーザからの入力を受付取るができる。
【0140】
ここに記載されているシステムと技術を、バックグラウンド部品に含まれる計算システム(例えば、データサーバとして)、又はミドルウェア部品を含む計算システム(例えば、アプリケーションサーバ)、又はフロント部品を含む計算システム(例えば、GUI又はネットワークブラウザを有するユーザコンピュータが挙げられ、ユーザがGUI又は該ネットワークブラウザによって、ここに記載されているシステムと技術の実施形態とインタラクションすることができる)、又はこのようなバックグラウンド部品、ミドルウェア部品、又はフロント部品のいかなる組合した計算システムで実施することができる。如何なる形式又はメディアのデジタルデータ通信(例えば、通信ネットワーク)を介して、システムの部品を互いに接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)及びインターネットを含む。
【0141】
コンピュータシステムは、クライアント端末とサーバを含み得る。通常、クライアント端末とサーバは、互いに離れており、通信ネットワークを介してインタラクションを行うことが一般的である。対応するコンピュータで動作することで、クライアント端末-サーバの関係を有するコンピュータプログラムによってクライアント端末とサーバの関係を生み出す。
【0142】
上記の様々な態様のフローを用いて、ステップを新たに順序付け、追加、又は削除することが可能であることを理解すべきである。例えば、本開示で記載された各ステップは、並列に実行しても良いし、順次に実行しても良いし、異なる順序で実行しても良い。本開示で開示された技術案が所望する結果を実現することができる限り、本開示ではこれに限定されない。
【0143】
上記具体的な実施形態は、本開示の保護範囲に対する限定を構成するものではない。当業者は、設計事項やその他の要因によって、様々な修正、組み合わせ、サブ組み合わせ、及び代替が可能であることを理解するべきである。本開示の要旨及び原理原則内における変更、均等な置換及び改善等は、いずれも本開示の保護範囲に含まれるべきである。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12