(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022062274
(43)【公開日】2022-04-19
(54)【発明の名称】関数処理方法、装置及び電子機器
(51)【国際特許分類】
G06N 10/00 20220101AFI20220412BHJP
G06N 99/00 20190101ALI20220412BHJP
【FI】
G06N10/00
G06N99/00 180
【審査請求】有
【請求項の数】23
【出願形態】OL
【公開請求】
(21)【出願番号】P 2022023755
(22)【出願日】2022-02-18
(31)【優先権主張番号】202110636547.0
(32)【優先日】2021-06-08
(33)【優先権主張国・地域又は機関】CN
(71)【出願人】
【識別番号】514322098
【氏名又は名称】ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド
(74)【代理人】
【識別番号】110002468
【氏名又は名称】特許業務法人後藤特許事務所
(72)【発明者】
【氏名】方 ▲コン▼
(72)【発明者】
【氏名】段 潤尭
(57)【要約】 (修正有)
【課題】量子計算における進化計算分野に係る関数処理方法、装置及び電子機器を提供する。
【解決手段】方法は、複数の第1変数からなる複数の項を含む第1多項式関数を取得することと、量子近似最適化アルゴリズムQAOAのノードリンクダイアグラムであって、K個のノードを含むノードリンクダイアグラムを、第1多項式関数に基づいて構築することと、ノードリンクダイアグラムの量子もつれ状態であって、ノードリンクダイアグラムにおけるK個のノードの目標量子状態を含む量子もつれ状態を生成することと、ノードリンクダイアグラムにおけるK個のノードの目標量子状態に基づいて、K個のノード毎に順次数値測定を行い、複数の第1変数の第1目標数値測定結果を得ることと、を含む。
【選択図】
図1
【特許請求の範囲】
【請求項1】
複数の第1変数からなる複数の項を含む第1多項式関数を取得することと、
量子近似最適化アルゴリズムQAOAのノードリンクダイアグラムであって、K(前記第1多項式関数に基づいて決定される1より大きい整数である)個のノードを含む前記ノードリンクダイアグラムを、前記第1多項式関数に基づいて構築することと、
前記ノードリンクダイアグラムの量子もつれ状態であって、前記ノードリンクダイアグラムにおける前記K個のノードの目標量子状態を含む前記量子もつれ状態を生成することと、
前記ノードリンクダイアグラムにおける前記K個のノードの目標量子状態に基づいて、前記K個のノード毎に順次数値測定を行い、前記複数の第1変数の第1目標数値測定結果を得ることとを含む関数処理方法。
【請求項2】
前記の量子近似最適化アルゴリズムQAOAのノードリンクダイアグラムを前記第1多項式関数に基づいて構築することは、
M(前記第1多項式関数に基づいて決定される)個のノードを含むノードダイアグラムを、前記第1多項式関数に基づいて構築することと、
前記ノードダイアグラムを順次平行に繰り返し積み重ねることによって、前記M個のノードを含む前記K(M以上の整数である)個のノードを含むQAOAのノードリンクダイアグラムを構築することとを含むことを特徴とする請求項1に記載の方法。
【請求項3】
前記のノードダイアグラムを前記第1多項式関数に基づいて構築することは、
予め設定された変数関係に基づいて、前記第1変数とは前記予め設定された変数関係を満たす複数の第2変数からなる複数の項を含む第2多項式関数を、前記第1多項式関数における第1変数に対して変数置換処理を行うことによって得ることと、
前記複数の第2変数に1対1に対応するQ(1より大きい整数である)個の第2ノードと、前記Q個の第2ノードに1対1に対応するQ個の第1ノードを作成することと、
順次縦方向に配列された前記Q個の第1ノードと、順次縦方向に配列された前記Q個の第2ノードと、並列に配列された第1ノードと第2ノードとを連結する無方向エッジとを含むノードダイアグラムを、前記M個のノードに含まれる前記Q個の第1ノードと前記Q個の第2ノードとに基づいて構築することとを含む、請求項2に記載の方法。
【請求項4】
複数の第2変数からなる複数の項が少なくとも2つの第2変数の項を含む場合、前記のノードダイアグラムを前記Q個の第1ノードと前記Q個の第2ノードとに基づいて構築する前に、
複数の第2変数からなる複数の項のうち、少なくとも2つの第2変数を含む項に1対1に対応するL(正の整数である)個の第3ノードを作成することと、
前記L個の第3ノードのそれぞれについて、前記Q個の第1ノードのうち、前記第3ノードに対応する項における第2変数に対応する第1ノードである目標ノードの少なくとも2つに前記第3ノードをそれぞれ連結して、前記第3ノードと少なくとも2つの前記目標ノードとの間の無方向エッジを得ることとを更に含み、
ここで、前記ノードダイアグラムは、前記L個の第3ノードと、前記L個の第3ノードと目標ノードとの間の無方向エッジとを更に含み、前記M個のノードは、前記L個の第3ノードを更に含むことを特徴とする請求項3に記載の方法。
【請求項5】
前記の前記ノードリンクダイアグラムにおける前記K個のノードの目標量子状態に基づいて、前記K個のノード毎に順次数値測定を行い、前記複数の第1変数の第1目標数値測定結果を得ることは、
前記ノードリンクダイアグラムにおける前記K個のノードの目標量子状態に基づいて、前記ノードリンクダイアグラムにおけるノードダイアグラムの積み重ね順に、ノードダイアグラムにおけるノードの各々に対して順次数値測定を行い、前記K個のノードの数値測定結果を得ることと、
前記K個のノードの数値測定結果に基づいて、前記複数の第1変数の第1目標数値測定結果を決定することとを含む、請求項4に記載の方法。
【請求項6】
前記ノードリンクダイアグラムにおけるノードダイアグラムは、第1ノードダイアグラムを含み、
前記第1ノードダイアグラムは、前記ノードリンクダイアグラムにおけるノードダイアグラムのいずれかであり、
前記の前記ノードリンクダイアグラムにおける前記K個のノードの目標量子状態に基づいて、前記ノードリンクダイアグラムにおけるノードダイアグラムの積み重ね順に、ノードダイアグラムにおけるノードの各々に対して順次数値測定を行い、前記K個のノードの数値測定結果を得ることは、
第1測定方式のうち、測定角度として、前記第1ノードダイアグラムの前に積み重ねられるノードダイアグラムである第2ノードダイアグラムの中の、前記第3ノードに対応する第2ノードの数値測定結果、前記第3ノードに対応する項における係数及び第1角度情報に基づいて決定される測定方式である第1目標測定方式を用いて、前記第1ノードダイアグラムにおける第3ノードのそれぞれについて、前記ノードリンクダイアグラムにおける前記第3ノードの目標量子状態に基づいて、前記第3ノードに対して数値測定を行うことによって、前記第1ノードダイアグラムにおける第3ノードの数値測定結果を得ることと、
第2測定方式のうち、測定角度として、第2ノードダイアグラムの中の、前記第1ノードに対応する第2ノードの数値測定結果、前記第1ノードに対応する第2変数の項における係数及び第1角度情報に基づいて決定される測定方式である第2目標測定方式を用いて、前記第1ノードダイアグラムにおける第1ノードのそれぞれについて、前記ノードリンクダイアグラムにおける前記第1ノードの目標量子状態に基づいて、前記第1ノードに対して数値測定を行うことによって、前記第1ノードダイアグラムにおける第1ノードの数値測定結果を得ることと、
第2測定方式のうち、測定角度として、前記第1ノードダイアグラムと第2ノードダイアグラムとを含む第3ノードダイアグラムの中の、前記第2ノードに対応する第2変数に関する第3ノードの数値測定結果、前記第3ノードダイアグラムの中の、前記第2ノードに対応する第1ノードの数値測定結果及び第2角度情報に基づいて決定される測定方式である第3目標測定方式を用いて、前記第1ノードダイアグラムにおける第2ノードのそれぞれについて、前記ノードリンクダイアグラムにおける前記第2ノードの目標量子状態に基づいて、前記第2ノードに対して数値測定を行うことによって、前記第1ノードダイアグラムにおける第2ノードの数値測定結果を得ることとを含む、請求項5に記載の方法。
【請求項7】
前記の前記K個のノードの数値測定結果に基づいて、前記複数の第1変数の第1目標数値測定結果を決定することは、
前記複数の第1変数のそれぞれについて、前記ノードリンクダイアグラムのノードダイアグラムの中の、前記第1変数とは前記予め設定された変数関係が存在する第2変数である目標変数に対応する第2ノードの数値測定結果を加算処理し、前記第1変数に対応する目標値を得ることと、
前記目標値をモジュロ演算して、前記第1変数の第1目標数値測定結果を得ることとを含む、請求項5に記載の方法。
【請求項8】
前記の前記ノードリンクダイアグラムにおける前記K個のノードの目標量子状態に基づいて、前記K個のノード毎に順次数値測定を行い、前記複数の第1変数の第1目標数値測定結果を得ることは、
前記ノードリンクダイアグラムにおける前記K個のノードの目標量子状態に基づいて、前記K個のノード毎に順次数値測定を行う目標測定操作をN回実行して、前記複数の第1変数のN(正の整数である)個の第2目標数値測定結果を得ることと、
目標測定操作のN回実行における前記複数の第1変数の数値測定スコア状況を表す第1目標関数値を、前記N個の第2目標数値測定結果に基づいて決定することと、
前記目標測定操作における角度情報であって、前記目標測定操作で前記K個のノードの各々に対する数値測定の測定角度を決定するために用いられる前記角度情報を、前記第1目標関数値に基づいて更新することと、
更新された前記角度情報に基づいて、前記目標測定操作を再びN回実行して第2目標関数値を決定することと、
前記第1目標関数値と第2目標関数値との差が予め設定された閾値よりも小さい場合、前記N個の第2目標数値測定結果のうち最も出現頻度の高い測定結果を、前記複数の第1変数の第1目標数値測定結果として決定することとを含む、請求項1に記載の方法。
【請求項9】
前記の前記ノードリンクダイアグラムの量子もつれ状態を生成することは、
前記K個のノードの各々の量子状態を生成することと、
前記K個のノードの各々の量子状態に基づいてテンソル積演算を行って第1演算結果を得ることと、
T(前記ノードリンクダイアグラムに含まれる無方向エッジの数に基づいて決定される)個の、制御Zゲートに対応する情報である制御情報に対してテンソル積と行列乗算を行って第2演算結果を得ることと、
前記第1演算結果と第2演算結果とを乗算して、前記ノードリンクダイアグラムの量子もつれ状態を得ることとを含む、請求項3又は4に記載の方法。
【請求項10】
前記の前記ノードリンクダイアグラムの量子もつれ状態を生成することは、
前記ノードリンクダイアグラムに対応する量子資源状態を取得することと、
前記ノードリンクダイアグラムに基づいて前記量子資源状態を裁断して前記ノードリンクダイアグラムの量子もつれ状態を得ることとを含む、請求項3又は4に記載の方法。
【請求項11】
複数の第1変数からなる複数の項を含む第1多項式関数を取得するための取得モジュールと、
量子近似最適化アルゴリズムQAOAのノードリンクダイアグラムであって、K(前記第1多項式関数に基づいて決定される1より大きい整数である)個のノードを含む前記ノードリンクダイアグラムを、前記第1多項式関数に基づいて構築するための構築モジュールと、
前記ノードリンクダイアグラムの量子もつれ状態であって、前記ノードリンクダイアグラムにおける前記K個のノードの目標量子状態を含む前記量子もつれ状態を生成するための生成モジュールと、
前記ノードリンクダイアグラムにおける前記K個のノードの目標量子状態に基づいて、前記K個のノード毎に順次数値測定を行い、前記複数の第1変数の第1目標数値測定結果を得るための数値測定モジュールとを含む関数処理装置。
【請求項12】
前記構築モジュールは、
M(前記第1多項式関数に基づいて決定される)個のノードを含むノードダイアグラムを、前記第1多項式関数に基づいて構築するための構築サブモジュールと、
前記ノードダイアグラムを順次平行に繰り返し積み重ねることによって、前記M個のノードを含む前記K(M以上の整数である)個のノードを含むQAOAのノードリンクダイアグラムを構築するための繰り返し積み重ねサブモジュールとを含む、請求項11に記載の装置。
【請求項13】
前記構築サブモジュールは、
予め設定された変数関係に基づいて、前記第1変数とは前記予め設定された変数関係を満たす複数の第2変数からなる複数の項を含む第2多項式関数を、前記第1多項式関数における第1変数に対して変数置換処理を行うことによって得るための変数置換処理ユニットと、
前記複数の第2変数に1対1に対応するQ(1より大きい整数である)個の第2ノードと、前記Q個の第2ノードに1対1に対応するQ個の第1ノードを作成するための第1作成ユニットと、
順次縦方向に配列された前記Q個の第1ノードと、順次縦方向に配列された前記Q個の第2ノードと、並列に配列された第1ノードと第2ノードとを連結する無方向エッジとを含むノードダイアグラムを、前記M個のノードに含まれる前記Q個の第1ノードと前記Q個の第2ノードとに基づいて構築するための構築ユニットとを含む、請求項12に記載の装置。
【請求項14】
複数の第2変数からなる複数の項が少なくとも2つの第2変数の項を含む場合、前記構築サブモジュールは、
複数の第2変数からなる複数の項のうち、少なくとも2つの第2変数を含む項に1対1に対応するL(正の整数である)個の第3ノードを作成するための第2作成ユニットと、
前記L個の第3ノードのそれぞれについて、前記Q個の第1ノードのうち、前記第3ノードに対応する項における第2変数に対応する第1ノードである目標ノードの少なくとも2つに前記第3ノードをそれぞれ連結して、前記第3ノードと少なくとも2つの前記目標ノードとの間の無方向エッジを得るための連結ユニットとを更に含み、
ここで、前記ノードダイアグラムは、前記L個の第3ノードと、前記L個の第3ノードと目標ノードとの間の無方向エッジとを更に含み、前記M個のノードは、前記L個の第3ノードを更に含む、請求項13に記載の装置。
【請求項15】
前記数値測定モジュールは、
前記ノードリンクダイアグラムにおける前記K個のノードの目標量子状態に基づいて、前記ノードリンクダイアグラムにおけるノードダイアグラムの積み重ね順に、ノードダイアグラムにおけるノードの各々に対して順次数値測定を行い、前記K個のノードの数値測定結果を得るための数値測定ユニットと、
前記K個のノードの数値測定結果に基づいて、前記複数の第1変数の第1目標数値測定結果を決定するための第1決定ユニットとを含む、請求項14に記載の装置。
【請求項16】
前記ノードリンクダイアグラムにおけるノードダイアグラムは、第1ノードダイアグラムを含み、
前記第1ノードダイアグラムは、前記ノードリンクダイアグラムにおけるノードダイアグラムのいずれかであり、
前記数値測定ユニットは、具体的に、
第1測定方式のうち、測定角度として、前記第1ノードダイアグラムの前に積み重ねられるノードダイアグラムである第2ノードダイアグラムの中の、前記第3ノードに対応する第2ノードの数値測定結果、前記第3ノードに対応する項における係数及び第1角度情報に基づいて決定される測定方式である第1目標測定方式を用いて、前記第1ノードダイアグラムにおける第3ノードのそれぞれについて、前記ノードリンクダイアグラムにおける前記第3ノードの目標量子状態に基づいて、前記第3ノードに対して数値測定を行うことによって、前記第1ノードダイアグラムにおける第3ノードの数値測定結果を得ることと、
第2測定方式のうち、測定角度として、第2ノードダイアグラムの中の、前記第1ノードに対応する第2ノードの数値測定結果、前記第1ノードに対応する第2変数の項における係数及び第1角度情報に基づいて決定される測定方式である第2目標測定方式を用いて、前記第1ノードダイアグラムにおける第1ノードのそれぞれについて、前記ノードリンクダイアグラムにおける前記第1ノードの目標量子状態に基づいて、前記第1ノードに対して数値測定を行うことによって、前記第1ノードダイアグラムにおける第1ノードの数値測定結果を得ることと、
第2測定方式のうち、測定角度として、前記第1ノードダイアグラムと第2ノードダイアグラムとを含む第3ノードダイアグラムの中の、前記第2ノードに対応する第2変数に関する第3ノードの数値測定結果、前記第3ノードダイアグラムの中の、前記第2ノードに対応する第1ノードの数値測定結果及び第2角度情報に基づいて決定される測定方式である第3目標測定方式を用いて、前記第1ノードダイアグラムにおける第2ノードのそれぞれについて、前記ノードリンクダイアグラムにおける前記第2ノードの目標量子状態に基づいて、前記第2ノードに対して数値測定を行うことによって、前記第1ノードダイアグラムにおける第2ノードの数値測定結果を得ることとに用いられる、請求項15に記載の装置。
【請求項17】
前記第1決定ユニットは、具体的に、
前記複数の第1変数のそれぞれについて、前記ノードリンクダイアグラムのノードダイアグラムの中の、前記第1変数とは前記予め設定された変数関係が存在する第2変数である目標変数に対応する第2ノードの数値測定結果を加算処理し、前記第1変数に対応する目標値を得ることと、
前記目標値をモジュロ演算して、前記第1変数の第1目標数値測定結果を得ることとに用いられる、請求項15に記載の装置。
【請求項18】
前記数値測定モジュールは、
前記ノードリンクダイアグラムにおける前記K個のノードの目標量子状態に基づいて、前記K個のノード毎に順次数値測定を行う目標測定操作をN回実行して、前記複数の第1変数のN(正の整数である)個の第2目標数値測定結果を得るための第1実行ユニットと、
目標測定操作のN回実行における前記複数の第1変数の数値測定スコア状況を表す第1目標関数値を、前記N個の第2目標数値測定結果に基づいて決定するための第2決定ユニットと、
前記目標測定操作における角度情報であって、前記目標測定操作で前記K個のノードの各々に対する数値測定の測定角度を決定するために用いられる前記角度情報を、前記第1目標関数値に基づいて更新するための更新ユニットと、
更新された前記角度情報に基づいて、前記目標測定操作を再びN回実行して第2目標関数値を決定するための第2実行ユニットと、
前記第1目標関数値と第2目標関数値との差が予め設定された閾値よりも小さい場合、前記N個の第2目標数値測定結果のうち最も出現頻度の高い測定結果を、前記複数の第1変数の第1目標数値測定結果として決定するための第3決定ユニットとを含む、請求項11に記載の装置。
【請求項19】
前記生成モジュールは、
前記K個のノードの各々の量子状態を生成するための生成ユニットと、
前記K個のノードの各々の量子状態に基づいてテンソル積演算を行って第1演算結果を得るための第1演算ユニットと、
T(前記ノードリンクダイアグラムに含まれる無方向エッジの数に基づいて決定される)個の、制御Zゲートに対応する情報である制御情報に対してテンソル積と行列乗算を行って第2演算結果を得るための第2演算ユニットと、
前記第1演算結果と第2演算結果とを乗算して、前記ノードリンクダイアグラムの量子もつれ状態を得るための第3演算ユニットとを含む、請求項13又は14に記載の装置。
【請求項20】
前記生成モジュールは、
前記ノードリンクダイアグラムに対応する量子資源状態を取得するための取得ユニットと、
前記ノードリンクダイアグラムに基づいて前記量子資源状態を裁断して前記ノードリンクダイアグラムの量子もつれ状態を得るための裁断ユニットとを含む、請求項13又は14に記載の装置。
【請求項21】
電子機器であって、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに通信可能に接続されたメモリとを含み、
ここで、前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が格納されており、
前記命令が前記少なくとも1つのプロセッサによって実行されることによって、前記少なくとも1つのプロセッサによる請求項1~10のいずれか1項に記載の方法の実行を可能にする。
【請求項22】
コンピュータ命令が格納されている非一時的コンピュータ可読記憶媒体であって、前記コンピュータ命令は、請求項1~10のいずれか1項に記載の方法をコンピュータに実行させる。
【請求項23】
プロセッサによって実行されると、請求項1~10のいずれか1項に記載の方法を実現させるコンピュータプログラムを含むコンピュータプログラムプロダクト。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、量子計算技術分野に関し、特に量子計算における進化計算分野に関し、具体的には関数処理方法、装置及び電子機器に関する。
【背景技術】
【0002】
多項式の組み合わせ最適化問題は、グラフ理論と組み合わせ最適化における基本的な問題であり、多項式の複雑さが証明された非確定性多項式NP(Non-deterministic Polynomial)困難問題でもある。この多項式の組合せ最適化問題とは、多項式関数における変数の値を決定し、各変数が0又は1を取ることにより、その多項式関数の関数値を最大にすることであり、統計物理、画像処理、ネットワーク設計、超大規模集積回路設計、データクラスタ分析、及び信号処理とコンピュータ視覚における画像再構成などの多くの分野に広く応用されている。
【0003】
現在、量子近似最適化アルゴリズムQAOA(Quantum Approximate Optimization Algorithm)を用いて多項式の組合せ最適化問題を近似的に解くことができる。このQAOAアルゴリズムは、通常、量子回路モデルで進化する。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示は、関数処理方法、装置及び電子機器を提供する。
【課題を解決するための手段】
【0005】
本開示の第1の態様によれば、関数処理方法を提供し、複数の第1変数からなる複数の項を含む第1多項式関数を取得することと、量子近似最適化アルゴリズムQAOAのノードリンクダイアグラムであって、K(前記第1多項式関数に基づいて決定される1より大きい整数である)個のノードを含む前記ノードリンクダイアグラムを、前記第1多項式関数に基づいて構築することと、前記ノードリンクダイアグラムの量子もつれ状態であって、前記ノードリンクダイアグラムにおける前記K個のノードの目標量子状態を含む前記量子もつれ状態を生成することと、前記ノードリンクダイアグラムにおける前記K個のノードの目標量子状態に基づいて、前記K個のノード毎に順次数値測定を行い、前記複数の第1変数の第1目標数値測定結果を得ることとを含む。
【0006】
本開示の第2の態様によれば、関数処理装置を提供し、複数の第1変数からなる複数の項を含む第1多項式関数を取得するための取得モジュールと、量子近似最適化アルゴリズムQAOAのノードリンクダイアグラムであって、K(前記第1多項式関数に基づいて決定される1より大きい整数である)個のノードを含む前記ノードリンクダイアグラムを、前記第1多項式関数に基づいて構築するための構築モジュールと、前記ノードリンクダイアグラムの量子もつれ状態であって、前記ノードリンクダイアグラムにおける前記K個のノードの目標量子状態を含む前記量子もつれ状態を生成するための生成モジュールと、前記ノードリンクダイアグラムにおける前記K個のノードの目標量子状態に基づいて、前記K個のノード毎に順次数値測定を行い、前記複数の第1変数の第1目標数値測定結果を得るための数値測定モジュールとを含む。
【0007】
本開示の第3の態様によれば、電子機器を提供し、少なくとも1つのプロセッサと、少なくとも1つのプロセッサに通信可能に接続されたメモリとを含み、ここで、メモリには、少なくとも1つのプロセッサによって実行可能な命令が格納されており、該命令が少なくとも1つのプロセッサによって実行されることによって、少なくとも1つのプロセッサによる第1の態様のいずれかの方法の実行を可能にする。
【0008】
本開示の第4の態様によれば、コンピュータ命令が格納されている非一時的コンピュータ可読記憶媒体を提供し、該コンピュータ命令は、第1の態様のいずれかの方法をコンピュータに実行させる。
【0009】
本開示の第5の態様によれば、プロセッサによって実行されると、第1の態様のいずれかの方法を実現させるコンピュータプログラムを含むコンピュータプログラムプロダクトを提供する。
【発明の効果】
【0010】
本願の技術によれば、多項式の組み合わせ最適化解を求める時にQAOAアルゴリズムの進化効果が比較的に悪いという問題を解決し、QAOAアルゴリズムの進化効果を向上させ、多項式の組み合わせ最適化解を求める効果を向上させる。
【0011】
なお、本明細書の記載は、本開示の実施例のポイント又は重要な特徴を特定することを意図しておらず、本開示の範囲を限定することも意図していない。本開示の他の特徴は、以下の説明から容易に理解される。
【図面の簡単な説明】
【0012】
図面は、本発明をより良く理解するためのものであり、本発明を限定するものではない。
【0013】
【
図1】
図1は、本願の実施例1に係る関数処理方法のフローチャートである。
【
図2】
図2は、ノードダイアグラムの構成を示す図である。
【
図3】
図3は、QAOAダイヤグラムの構成を示す図である。
【
図4】
図4は、本願の実施例2に係る関数処理装置の構成を示す図である。
【
図5】
図5は、本開示の実施例を実施するために使用することができる例示的な電子機器500の概略ブロック図を示す。
【発明を実施するための形態】
【0014】
理解を容易にするために、本願の例示的な実施例は、本願の実施例の様々な詳細を含めて、添付図面を参照して以下に説明されるが、これらは、例示的なものに過ぎないと考えられるべきである。従って、当業者は、本願の範囲及び精神から逸脱することなく、本明細書に記載された実施例に様々な変更及び修正を加えることができることを認識するべきである。また、以下の説明では、明確化及び簡略化のために、公知の機能及び構成についての説明を省略する。
実施例1
【0015】
図1に示すように、本願に係る関数処理方法は、以下のステップを含む。
【0016】
ステップS101において、複数の第1変数からなる複数の項を含む第1多項式関数を取得する。
【0017】
本実施例において、関数処理方法は、量子計算技術分野に関し、特に量子計算における進化計算分野に関し、統計物理、画像処理、ネットワーク設計、超大規模集積回路設計、データクラスタ分析、及び信号処理とコンピュータ視覚における画像再構成などの多くの分野に広く応用されている。
【0018】
実際に使用する場合、本願の実施例に係る関数処理方法は、本願の実施例に係る関数処理装置によって実行される。本願の実施例に係る関数処理装置は、本願の実施例に係る関数処理方法を実行するために、任意の電子機器に配置することができる。電子機器は、サーバであっても端末であってもよいが、ここでは具体的に限定しない。
【0019】
前記第1多項式関数は、多項式関数であり、多項式関数とは、いくつかの単項式の加算からなる代数式(減算があれば、1つの数値を減じることは、その逆数を加算することに等しい)を指し、多項式関数における各単項式を多項式の項という。即ち、第1多項式関数は、複数の第1変数からなる複数の項を含み、各項は、少なくとも1つの第1変数を含む。
【0020】
前記第1多項式関数は、下記式(1)で示すことができる。
【数1】
ここで、c
s(x)は、第1多項式関数の項であり、
【数2】
で示される。
【数3】
は、変数集合であり、複数の第1変数を含み、その値が長さQのビット列であり、各第1変数の値が0又は1である。係数α
sは、実数である。[Q]={1,2,…,Q}。Sは、[Q]の部分集合である。
【0021】
第1多項式関数の演算は、多項式の組合せ最適化問題に従って行われる。ここで、多項式の組合せ最適化問題は、式(1)に示すような多項式関数を与え、その中の変数を多項式関数の関数値が最大となるように解くことで具体的に記述されており、以下の式(2)で示される。
【数4】
【0022】
前記第1多項式関数は、様々な取得方法を有し、例えば、ユーザが入力した関数構築パラメータを受けて、第1多項式関数を自動的に生成する。この関数構築パラメータは、変数の数、項の数及び関数構築方式を含む。関数処理装置に予め記憶されている多項式関数を取得して第1多項式関数としてもよいし、他の電子機器から送信される第1多項式関数を受信してもよい。
【0023】
ステップ102において、量子近似最適化アルゴリズムQAOAのノードリンクダイアグラムを、前記第1多項式関数に基づいて構築する。前記ノードリンクダイアグラムは、K個のノードを含む。Kは、前記第1多項式関数に基づいて決定される。ここで、Kは、1より大きい整数である。
【0024】
本実施例において、Edward Farhiらが古典計算と量子計算の混合反復の考え方により提案した量子アルゴリズムであるQAOAアルゴリズムを用いて多項式の組み合わせ最適化問題を解決することができ、量子計算機器で動作することができる。
【0025】
QAOAアルゴリズムの進化時に、まず、QAOAのノードリンクダイアグラムを構築する必要がある。前記ノードリンクダイアグラムとは、K個のノードと、このK個のノードを結ぶ無方向エッジとからなる空間ダイアグラムであり、第1多項式関数に基づいて構築されるレイヤを複数含む。
【0026】
簡単に説明すると、このノードリンクダイアグラムを1つのシステム全体と考えると、このノードリンクダイアグラムは、複数のサブシステムを含み、その中の各レイヤは、1つのサブシステムと見なすことができ、且つ、各サブシステムは、第1多項式関数に基づいて生成される。
【0027】
QAOAのノードリンクダイアグラムは、第1多項式関数に基づいて構築される。ここで、QAOAのノードリンクダイアグラムにおける各レイヤは、同一であっても異なっていてもよいが、特に限定されるものではない。
【0028】
QAOAのノードリンクダイアグラムは、第1多項式関数に基づいて直接構築されてもよいし、第1多項式関数に基づいて間接的に構築されてもよいが、ここでは特に限定されない。
【0029】
選択可能な実施形態において、ノードリンクダイアグラムにおける各レイヤは、第1多項式関数に基づいて間接的に構築される。具体的には、予め設定された変数関係に基づいて、第1多項式関数の第1変数に対して変数置換処理を行って第2多項式関数を得、更に第2多項式関数に基づいてノードダイアグラムを構築する。第2多項式関数における変数は、第2変数という。
【0030】
選択可能な実施形態において、その構築方式として、M(前記第1多項式関数に基づいて決定される)個のノードを含むノードダイアグラムを、前記第1多項式関数に基づいて構築し、前記ノードダイアグラムを順次平行に繰り返し積み重ねることによって、QAOAのノードリンクダイアグラムを構築する。前記K個のノードは、前記M個のノードを含む。Kは、M以上の整数である。
【0031】
即ち、第1多項式関数に基づいて1つのサブシステムが構築され、更にサブシステムに基づいて、QAOAのノードリンクダイアグラムである大きなシステムが積み重ねられる。
【0032】
なお、他の方式で構築されてもよいが、異なる方式で構築されたQAOAのノードリンクダイアグラムの構成は同一であることが原則であり、ここでは、ノードリンクダイアグラムの構築方式を限定しない。
【0033】
ここで、Kは、前記第1多項式関数に基づいて決定される。選択可能な実施形態において、ノードリンクダイアグラムの各レイヤ内のノードの数は、同じくM個のノードである。即ち、Kは、Mの倍数であり、Mは、前記第1多項式関数に基づいて決定される。以下の実施形態は、これを詳細に説明する。
【0034】
なお、前記第1多項式関数に基づいて直接ノードダイアグラムを構築する場合、Mは、第1多項式関数に基づいて直接決定されるが、前記第1多項式関数に基づいて間接的にノードダイアグラムを構築する場合、Mは、第1多項式関数に基づいて間接的に決定される。具体的には、ノードリンクダイアグラムにおけるノードダイアグラムは、第1多項式関数に基づいて間接的に構築され、予め設定された変数関係に基づいて、第1多項式関数の第1変数に対して変数置換処理を行って第2多項式関数を得、更に第2多項式関数に基づいてノードダイアグラムを構築する。第2多項式関数における変数は、第2変数と呼び、Mは、第2変数の数と、複数の第2変数からなる複数の項のうち、少なくとも2つの第2変数を含む項の数とに基づいて決定される。
【0035】
ステップS103において、前記ノードリンクダイアグラムの量子もつれ状態であって、前記ノードリンクダイアグラムにおける前記K個のノードの目標量子状態を含む前記量子もつれ状態を生成する。
【0036】
このステップにおいて、量子もつれ状態とは、このノードリンクダイアグラムという全体的なシステムの物理的状態を記述するものであり、列ベクトルのようなベクトルであり、前記ノードリンクダイアグラムにおける前記K個のノードの目標量子状態を含み、且つ各ノードは、前記ノードリンクダイアグラムにおける目標量子状態が存在し、ノードリンクダイアグラムにおける各ノードの目標量子状態は、1つの量子ビットの量子状態によって表される。ここで、量子物理において、量子状態とは、一つの孤立したシステムを記述した状態のことであり、システムのすべての情報が含まれている。つまり、量子もつれ状態には、ノードリンクダイアグラムの全てのノードの、ノードリンクダイアグラムという全体的なシステムにおける量子状態が含まれる。
【0037】
前記ノードリンクダイアグラムの量子もつれ状態は、様々な生成方式を有する。1つの選択可能な実施形態において、前記の前記ノードリンクダイアグラムの量子もつれ状態を生成することは、前記K個のノードの各々の量子状態を生成することと、前記K個のノードの各々の量子状態に基づいてテンソル積演算を行って第1演算結果を得ることと、T(前記ノードリンクダイアグラムに含まれる無方向エッジの数に基づいて決定される)個の、制御Zゲートに対応する情報である制御情報に対してテンソル積と行列乗算を行って第2演算結果を得ることと、前記第1演算結果と第2演算結果とを乗算して、前記ノードリンクダイアグラムの量子もつれ状態を得ることとを含む。
【0038】
本実施形態において、関数処理装置でノードリンクダイアグラムの構成に基づいてノードリンクダイアグラムの量子もつれ状態を構築することができ、これにより、QAOAアルゴリズムの進化をローカルで実現することができる。
【0039】
他の選択可能な実施形態において、前記の前記ノードリンクダイアグラムの量子もつれ状態を生成することは、前記ノードリンクダイアグラムに対応する量子資源状態を取得することと、前記ノードリンクダイアグラムに基づいて前記量子資源状態を裁断して前記ノードリンクダイアグラムの量子もつれ状態を得ることとを含む。
【0040】
本実施形態において、関数処理装置は、構築されたQAOAのノードリンクダイアグラムに基づいて、クラウド量子サーバ等の他の電子機器に適切なサイズの量子資源状態を要求して、前記ノードリンクダイアグラムに対応する汎用量子資源状態を取得する。その後、構築されたQAOAのノードリンクダイアグラムの構成に従って前記量子資源状態を裁断し、前記ノードリンクダイアグラムの量子もつれ状態を得る。この量子資源状態とは、システムの汎用量子もつれ状態であり、クラスタ状態又は他の汎用量子資源状態である。
【0041】
要求された量子資源状態は、QAOAアルゴリズムとは無関係な汎用量子状態であるため、クラウド量子サーバのような別の電子機器は、どのようなデータを使用し、どのようなアルゴリズムを実行しているかを知ることができず、これによりQAOAアルゴリズムの進化時にユーザのプライバシーと計算の安全を守ることができる。
【0042】
ステップ104において、前記ノードリンクダイアグラムにおける前記K個のノードの目標量子状態に基づいて、前記K個のノード毎に順次数値測定を行い、前記複数の第1変数の第1目標数値測定結果を得る。
【0043】
QAOAアルゴリズムは、通常、量子回路モデルの枠組みで進化し、多項式の組み合わせ最適化問題を解決する。しかし、量子回路モデルは、物理実験における量子ビットコヒーレント時間が非常に短いため、量子回路モデルに基づいて設計された量子アルゴリズムは、コヒーレント時間の制限を受け、量子回路の層数があまり深くならない。
【0044】
このように、QAOAアルゴリズムの進化時に、量子状態を順次に量子ゲート操作する必要があるため、アルゴリズム進化の際にコヒーレント時間の制限を受け、物理的な実現において深層の量子回路を用いて必要なアルゴリズム進化効果を実現できなくなり、QAOAアルゴリズムの進化効果が比較的に悪くなる。
【0045】
このステップでは、作られたQAOAのノードリンクダイアグラムの量子もつれ状態について、前記K個のノード毎に単一量子ビットの測定方式で順次数値測定を行って、前記複数の第1変数の第1目標数値測定結果を得る。
【0046】
具体的には、前記ノードリンクダイアグラムにおける前記K個のノードの目標量子状態に基づいて、前記K個のノード毎に順次数値測定を行い、前記K個のノードの数値測定結果を得る。その後、前記K個のノードの数値測定結果に基づいて、前記複数の第1変数の第1目標数値測定結果を決定する。
【0047】
例えば、ノードリンクダイアグラムが30個のノードを含む場合、量子もつれ状態には、30個の量子ビットの量子状態が含まれる。各量子ビットの量子状態毎に、この量子ビットの量子状態に対応するノードに対して順次数値測定を行い、そのノードの数値測定結果を得、最終的にその30個のノードの数値測定結果を得る。
【0048】
数値測定の過程において、数値測定結果には依存関係が存在し、即ち、順番で後に数値測定が行われるノードの数値測定結果は、先に数値測定が行われるノードの数値測定結果に依存する可能性があるため、数値測定時にノードリンクダイアグラムにおけるノードに対して、予め設定された順番で順次数値測定を行う必要がある。この予め設定された順番について、後の実施形態で更に詳細に説明される。
【0049】
また、第1変数の第1目標数値測定結果は、前記K個のノードのうち、最後に数値測定が行われるノードの数値測定結果に依存するので、前記K個のノードの数値測定結果を決定した後に、前記K個のノードの数値測定結果に基づいて、前記複数の第1変数の第1目標数値測定結果を決定する必要がある。前記K個のノードの数値測定結果に基づいて前記複数の第1変数の第1目標数値測定結果を決定する具体的なプロセスについては、後の実施形態で更に詳細に説明される。
【0050】
前記複数の第1変数における各第1変数の数値測定結果は、第1変数が取る値を表す2つのケースがある。第1のケースは、数値0で表し、第1変数の値が0であることを表し、第2のケースは、1で表し、第1変数の値が1であることを表す。
【0051】
即ち、前記複数の第1変数の第1目標数値測定結果は、oで表すビット列であり、そのビット数が第1変数の数に等しい。例えば、第1変数の数が4である場合、oは、4ビットの01文字列を表し、該01文字列における各文字は、第1変数に対応する値を表す。
【0052】
例えば、複数の第1変数の第1目標数値測定結果oは、「0101」であり、左から右の順に、第1変数x1、第1変数x2、第1変数x3、及び第1変数x4の値をそれぞれ表す。
【0053】
目標測定操作を1回実行し、1回実行して得られた測定結果を、前記複数の第1変数の第1目標数値測定結果として決定する。ここで、目標測定操作は、前記ノードリンクダイアグラムにおける前記K個のノードの目標量子状態に基づいて、前記K個のノード毎に順次数値測定を行うことである。
【0054】
目標測定操作を複数回実行し、複数回実行して得られた複数の測定結果に基づいて、前記複数の変数の最終的な第1目標数値測定結果を決定してもよいが、ここでは特に限定しない。
【0055】
実用上、数値測定のランダム性から、目標測定操作をN回実行して、前記複数の第1変数のN個の第2目標数値測定結果を得る。Nは、正の整数であり、通常は1よりも大きい。このN個の第2目標数値測定結果に基づいて前記複数の変数の第1目標数値測定結果を決定する。具体的には、N個の第2目標数値測定結果のうち最も出現頻度の高い測定結果を、前記複数の変数の第1目標数値測定結果として決定する。
【0056】
例えば、N個の第2目標数値測定結果のうち、ビット列「0101」の出現頻度が最も高い場合、前記複数の変数の第1目標数値測定結果は、「0101」となる。
【0057】
また、数値測定過程における測定方式は、角度情報に基づいて決定される。角度情報が異なれば、測定方式も異なり、最終的に得られる数値測定結果も異なるため、この目標測定操作をN回実行して、この角度情報の測定方式における数値測定スコア状況を決定し、この数値測定スコア状況に基づいて角度情報を更新し、そして、この更新された角度情報に基づいて数値測定を繰り返し行い、最終的に、数値測量結果の正確性を高め、関数の演算効果を高めるという目的を達成する。
【0058】
その後、前記複数の第1変数の第1目標数値測定結果が得られた後、前記第1目標数値測定結果に基づいて、前記第1多項式関数の組み合わせ出力結果を決定する。具体的には、第1目標数値測定結果における各第1変数の値を第1の多項式関数に代入することにより、前記第1多項式関数の組合せ出力結果を得る。
【0059】
本実施例において、複数の第1変数からなる複数の項を含む第1多項式関数を取得することと、量子近似最適化アルゴリズムQAOAのノードリンクダイアグラムであって、K(前記第1多項式関数に基づいて決定される)個のノードを含む前記ノードリンクダイアグラムを、前記第1多項式関数に基づいて構築することと、前記ノードリンクダイアグラムの量子もつれ状態であって、前記ノードリンクダイアグラムにおける前記K個のノードの目標量子状態を含む前記量子もつれ状態を生成することと、前記ノードリンクダイアグラムにおける前記K個のノードの目標量子状態に基づいて、前記K個のノード毎に順次数値測定を行い、前記複数の第1変数の第1目標数値測定結果を得ることによって、第1多項式関数により生成されたQAOAの量子もつれ状態に基づいて単一量子ビットの測定を行い、各ノード毎に順次数値測定を行うことができ、且つ複数のノードを同時に測定することができる。このように、アルゴリズムの進化の際に、量子状態に対して量子ゲート操作を順次に行うことを避けることができ、コヒーレント時間に対する制限を減少させ、QAOAアルゴリズムの進化効果を向上させることができ、更に多項式の組合せ最適化解を求める効果を高めることができる。
【0060】
また、本実施例における多項式の組合せ最適化問題を解決するためのQAOAアルゴリズムのこの進化方式は、イオントラップや量子光学などのハードウェアプラットフォームでより容易に実現できる。
【0061】
選択可能に、前記ステップS102は、具体的に、M(前記第1多項式関数に基づいて決定される)個のノードを含むノードダイアグラムを、前記第1多項式関数に基づいて構築することと、前記ノードダイアグラムを順次平行に繰り返し積み重ねることによって、前記M個のノードを含む前記K(M以上の整数である)個のノードを含むQAOAのノードリンクダイアグラムを構築することとを含む。
【0062】
本実施形態において、QAOAのノードリンクダイアグラムは、QAOAダイアグラムと呼び、且つQAOAダイアグラムの各レイヤは、同一である。従って、QAOAダイアグラムの構築の際には、QAOAダイアグラムの1つのレイヤ、即ち単層QAOAダイヤグラムのみを構築すればよく、その後、単層QAOAダイアグラムを繰り返し積み重ねてQAOAダイアグラムが得られる。
【0063】
第1多項式関数に基づいてノードダイアグラム、即ち単層QAOAダイヤグラムが構築される。該ノードダイアグラムは、M個のノードを含む。Kは、Mの倍数である。Mは、前記第1多項式関数に基づいて直接又は間接的に決定される。その構築方式は、以下の実施形態で詳細に説明される。
【0064】
本実施形態において、前記第1多項式関数に基づいて単層QAOAダイアグラムが構築され、前記ノードダイアグラムを順次平行に繰り返し積み重ねてQAOAのノードリンクダイアグラムが構築される。このように、QAOAダイアグラムの構築は、簡単に実現でき、その後の数値測定の基礎を作ることができる。
【0065】
選択可能に、前記のノードダイアグラムを前記第1多項式関数に基づいて構築することは、予め設定された変数関係に基づいて、前記第1変数とは前記予め設定された変数関係を満たす複数の第2変数からなる複数の項を含む第2多項式関数を、前記第1多項式関数における第1変数に対して変数置換処理を行うことによって得ることと、前記複数の第2変数に1対1に対応するQ(1より大きい整数である)個の第2ノードと、前記Q個の第2ノードに1対1に対応するQ個の第1ノードを作成することと、順次縦方向に配列された前記Q個の第1ノードと、順次縦方向に配列された前記Q個の第2ノードと、並列に配列された第1ノードと第2ノードとを連結する無方向エッジとを含むノードダイアグラムを、前記M個のノードに含まれる前記Q個の第1ノードと前記Q個の第2ノードとに基づいて構築することとを含む。
【0066】
本実施形態に限定される単層QAOAダイアグラムの構築過程は、まず、予め設定された変数関係に基づいて、前記第1多項式関数における第1変数に対して変数置換処理を行って第2多項式関数を得る。前記予め設定された変数関係のうち、異なる変数間の関係は、反比例関係である。
【0067】
選択可能な実施形態において、前記予め設定された変数関係がx=(1-z)/2(ここで、第1変数は、xであり、第2変数は、zである)であると、この予め設定された変数関係に基づいて、第1多項式関数における第1変数を第2変数に置換して第2多項式関数を得る。前記第2変数と前記第1変数とは、前記予め設定された変数関係を満たし、且つ第1変数の数と第2変数の数とは等しい。また、前記第2多項式関数に含まれる項の数は、前記第1多項式関数に含まれる項と、第1変数の数と、前記予め設定された変数関係とに基づいて総合的に決定される。
【0068】
整理すると、第2多項式関数は、
【数5】
として得られる。ここで、
【数6】
、第2変数
【数7】
【0069】
例えば、第1多項式関数がc(x)=2x1+4x1x2であり、予め設定された変数関係がx=(1-z)/2であれば、第2多項式関数は、c(x)=-2z1-z2+z1z2+2になる。
【0070】
その後、第2多項式関数に基づいてノードダイアグラムを構築する。具体的には、Q個の第1ノードとQ個の第2ノードを作成する。Qは、第2変数の数に等しく、且つ前記Q個の第1ノードは、Q個の第2ノードに1対1に対応し、Q個の第2ノードは、前記複数の第2変数に1対1に対応する。
【0071】
ここで、第1ノードは、G
kで示し、第2ノードは、B
kで示す。
【数8】
【0072】
Q個の第1ノードとQ個の第2ノードに基づいてノードダイアグラムが構築される。具体的には、Q個の第1ノードを順に縦に配列し、Q個の第2ノードを順に縦に配列し、且つ、並列に配列された第1ノードと第2ノードとを無方向エッジで連結し、即ち、第1ノードGkと第2ノードBkとを連結する。
【0073】
図2を参照する。
図2は、ノードダイアグラムの構成を示す図である。
図2に示すように、第2多項式関数c(z)=2z
2+z
1z
3+5z
3z
4-2z
1z
2z
4に基づいて構築されるノードダイアグラムである。変数の数が4であるため、作成された第1ノードと第2ノードの数は、4となり、これら4つの第1ノードを順に縦に配列し、4つの第2ノードを順に縦に配列し、且つ、並列に配列された第1ノードと第2ノードとを無方向エッジで連結する。
【0074】
このように、第1多項式関数に基づいてノードダイアグラムの構築を実現することができ、QAOAダイヤグラムの構築を実現する。
【0075】
選択可能に、複数の第2変数からなる複数の項が少なくとも2つの第2変数の項を含む場合、前記のノードダイアグラムを前記Q個の第1ノードと前記Q個の第2ノードとに基づいて構築する前に、前記方法において、複数の第2変数からなる複数の項のうち、少なくとも2つの第2変数を含む項に1対1に対応するL(正の整数である)個の第3ノードを作成することと、前記L個の第3ノードのそれぞれについて、前記Q個の第1ノードのうち、前記第3ノードに対応する項における第2変数に対応する第1ノードである目標ノードの少なくとも2つに前記第3ノードをそれぞれ連結して、前記第3ノードと少なくとも2つの前記目標ノードとの間の無方向エッジを得ることとを更に含む。ここで、前記ノードダイアグラムは、前記L個の第3ノードと、前記L個の第3ノードと目標ノードとの間の無方向エッジとを更に含み、前記M個のノードは、前記L個の第3ノードを更に含む。
【0076】
本実施形態において、第2多項式関数における各集合S、即ち、複数の第2変数からなる複数の項について、含まれる第2変数の数|S|≧2、且つηs≠0の場合、第1ノードの左に1つの第3ノードを追加してRsとし、この第3のノードを、前記Q個の第1ノードのうち、前記第3ノードに対応する項における第2変数に対応する第1ノードにそれぞれ連結する。
【0077】
図2に示すように、第2多項式関数の複数の項のうち、少なくとも2つの第2変数を含む項が3つであるので、3つの第3ノードを作成し、第3ノード毎に、第3ノードを、対応する第1ノードに無方向エッジによって連結する。
【0078】
例えば、第3ノードR1,3について、この第3ノードは、1番目の第1ノードと3番目の第1のノードとに無方向エッジで連結される。
【0079】
本実施形態において、複数の第2変数からなる複数の項が少なくとも2つの第2変数の項を含む場合、複数の第2変数からなる複数の項のうち、少なくとも2つの第2変数を含む項に1対1に対応するL個の第3ノードを作成し、前記L個の第3ノードのそれぞれについて、前記Q個の第1ノードのうち、前記第3ノードに対応する項における第2変数に対応する第1ノードである目標ノードの少なくとも2つに前記第3ノードをそれぞれ連結して、前記第3ノードと少なくとも2つの前記目標ノードとの間の無方向エッジを得る。ここで、前記ノードダイアグラムは、前記L個の第3ノードと、前記L個の第3ノードと目標ノードとの間の無方向エッジとを更に含む。このように、更に第1多項式関数に基づいてノードダイアグラムの構築を実現し、QAOAダイアグラムの構築を実現して、構築されたQAOAダイアグラムをより正確にすることができる。
【0080】
ノードダイアグラムを構築した後、QAOAアルゴリズムでは初期量子状態を複数回繰り返し進化させることに応じて、構築された単層QAOAダイアグラムを複数回繰り返し、順次並べて新しいダイアグラムを構築し、それをQAOAダイアグラムと呼ぶ。具体的には、
図3を参照する。
図3は、QAOAダイヤグラムの構成を示す図である。
図3に示すように、正の整数pが与えられ、対応するQAOAダイアグラムは、以下のように構築される。単層QAOAダイアグラムをp回繰り返し、そして順次並行に並べていく。コピー毎に要素を区別しやすいように、単層QAOAダイアグラムのk番目のコピーを下付き文字で示し、
【数9】
【数10】
【数11】
は、k番目のコピーの第3ノード、第1ノード、第2ノードをそれぞれ示す。また、隣接するコピーの間で、第2ノード
【数12】
と次のコピーにおける第1ノード
【数13】
とを連結する。ここで、
【数14】
。生成されたQAOAダイアグラムをQAOA(c,p)と表記し、p個のレイヤを含む第1多項式関数cのQAOAダイアグラムを示す。
【0081】
選択可能に、前記ステップS104は、具体的に、前記ノードリンクダイアグラムにおける前記K個のノードの目標量子状態に基づいて、前記ノードリンクダイアグラムにおけるノードダイアグラムの積み重ね順に、ノードダイアグラムにおけるノードの各々に対して順次数値測定を行い、前記K個のノードの数値測定結果を得ることと、前記K個のノードの数値測定結果に基づいて、前記複数の第1変数の第1目標数値測定結果を決定することとを含む。
【0082】
本実施形態において、数値測定の際に、ノードリンクダイアグラムにおけるノードに対し、予め設定された順番で順次数値測定を行う必要があり、ノードリンクダイアグラムにおけるノードダイアグラムの積み重ね順に、ノードダイアグラムにおけるノードのそれぞれに対して順次数値測定を行う。この予め設定された順番は、ノードリンクダイアグラムにおけるノードダイアグラムの積み重ね順を含む。
【0083】
具体的には、まず、1番目のノードダイアグラムにおけるノード毎に数値測定を行い、測定が完了した後、2番目のノードダイアグラムにおけるノード毎に数値測定を行い、順次類推して、最終的に前記K個のノードの数値測定結果が得られるまで、最後のノードダイアグラム、即ち、p番目のノードダイアグラムにおけるノード毎に数値測定を行う。
【0084】
数値測定過程で、後に測定されるノードダイアグラムにおけるノードの数値測定結果は、先に測定されるノードダイアグラムにおけるノードの数値測定結果に依存する可能性がある。その依存関係については、以下の実施形態で詳細に説明される。
【0085】
このように、ノードリンクダイアグラムにおけるノードダイアグラムの積み重ね順に、ノードダイアグラムにおけるノード毎に数値測定を行うことによって、ノードリンクダイアグラムにおけるノード毎に数値測定を行うことを実現し、前記K個のノードの数値測定結果が得られる。更に、前記K個のノードの数値測定結果に基づいて、前記複数の第1変数の第1目標数値測定結果が決定される。
【0086】
選択可能に、前記ノードリンクダイアグラムにおけるノードダイアグラムは、第1ノードダイアグラムを含み、前記第1ノードダイアグラムは、前記ノードリンクダイアグラムにおけるノードダイアグラムのいずれかである。前記の前記ノードリンクダイアグラムにおける前記K個のノードの目標量子状態に基づいて、前記ノードリンクダイアグラムにおけるノードダイアグラムの積み重ね順に、ノードダイアグラムにおけるノードの各々に対して順次数値測定を行い、前記K個のノードの数値測定結果を得ることは、以下を含む。前記第1ノードダイアグラムにおける第3ノードのそれぞれについて、前記ノードリンクダイアグラムにおける前記第3ノードの目標量子状態に基づいて、第1目標測定方式を用いて前記第3ノードに対して数値測定を行うことによって、前記第1ノードダイアグラムにおける第3ノードの数値測定結果を得る。前記第1目標測定方式は、第1測定方式のうち、測定角度として、前記第1ノードダイアグラムの前に積み重ねられるノードダイアグラムである第2ノードダイアグラムの中の、前記第3ノードに対応する第2ノードの数値測定結果、前記第3ノードに対応する項における係数及び第1角度情報に基づいて決定される測定方式である。前記第1ノードダイアグラムにおける第1ノードのそれぞれについて、前記ノードリンクダイアグラムにおける前記第1ノードの目標量子状態に基づいて、第2目標測定方式を用いて前記第1ノードに対して数値測定を行うことによって、前記第1ノードダイアグラムにおける第1ノードの数値測定結果を得る。前記第2目標測定方式は、第2測定方式のうち、測定角度として、第2ノードダイアグラムの中の、前記第1ノードに対応する第2ノードの数値測定結果、前記第1ノードに対応する第2変数の項における係数及び第1角度情報に基づいて決定される測定方式である。前記第1ノードダイアグラムにおける第2ノードのそれぞれについて、前記ノードリンクダイアグラムにおける前記第2ノードの目標量子状態に基づいて、第3目標測定方式を用いて前記第2ノードに対して数値測定を行うことによって、前記第1ノードダイアグラムにおける第2ノードの数値測定結果を得る。前記第3目標測定方式は、第2測定方式のうち、測定角度として、前記第1ノードダイアグラムと第2ノードダイアグラムとを含む第3ノードダイアグラムの中の、前記第2ノードに対応する第2変数に関する第3ノードの数値測定結果、前記第3ノードダイアグラムの中の、前記第2ノードに対応する第1ノードの数値測定結果及び第2角度情報に基づいて決定される。
【0087】
本実施形態において、QAOAダイアグラムの量子もつれ状態を生成した後、単一ビット測定方式を用いて前記量子もつれ状態に基づいてノードリンクダイアグラムにおけるノード毎に数値測定を行う。以下、単一ビット測定方式について詳細に説明する。
【0088】
この単一ビット測定方式には、主に2種類の測定方式が含まれ、それぞれ第1測定方式と第2測定方式である。それぞれの測定方式は、一対のパラメータ付き直交ベクトルによって与えられる。このパラメータは、測定角度パラメータとすることができる。
【0089】
第1測定方式は、M
x(θ)={R
x(θ)|0〉,R
x(θ)|1〉}と示し、第2測定方式はM
z(θ)={R
z(θ)|+〉,R
z(θ)|-〉}と示す。ここで、θは、測定角度パラメータであり、
【数15】
は、計算基であり、
【数16】
。また、
【数17】
は、x軸周りの単一ビット回転ゲートであり、
【数18】
は、z軸周りの単一ビット回転ゲートであり、
【数19】
【0090】
具体的には、第1角度情報と第2角度情報とを含む角度情報が入力される。第1角度情報は、ベクトルγ=(γ1,…,γp)であり、第2角度情報は、ベクトルβ=(β1,…,βp)である。
【0091】
まず、各レイヤのノードについて、QAOAダイアグラムの積み重ね順に順次数値測定を行い、且つQAOAダイアグラムの各レイヤに基づいて、第1ノードダイアグラムにおける各第3ノード
【数20】
の目標量子状態について、各第3ノードの量子ビットを数値測定し、その測定方式を第1目標測定方式とする。第1目標測定方式は、第1測定方式のうち、測定角度として、第2ノードダイアグラムの中の、前記第3ノードに対応する第2ノードの数値測定結果、前記第3ノードに対応する項における係数及び第1角度情報とに基づいて決定される測定方式であり、その測定角度が下記式(3)で示される。
【数21】
ここで、lは、レイヤの番号を示し、
【数22】
と定義する。
【数23】
は、第2ノードダイアグラムの中の、前記第3ノードに対応する第2ノードの数値測定結果であり、η
sは、前記第3ノードに対応する項における係数であり、各第3ノードの数値測定結果を
【数24】
として記録する。
【0092】
第1ノードダイアグラムの各第1ノード
【数25】
の目標量子状態に対して、各第1ノードの量子ビットを数値測定し、その測定方式を第2目標測定方式とする。前記第2目標測定方式は、第2測定方式のうち、測定角度として、前記第2ノードダイアグラムの中の、前記第1ノードに対応する第2ノードの数値測定結果、前記第1ノードに対応する第2変数の項における係数及び第1角度情報とに基づいて決定される測定方式であり、その測定角度は、下記式(4)で示される。
【数26】
ここで、
【数27】
は、前記第2ノードダイアグラムの中の、前記第1ノードに対応する第2ノードの数値測定結果であり、η
vは、前記第1ノードに対応する第2変数の項における係数であり、各第1のノードの数値測定結果
【数28】
を記録する。
【0093】
第1ノードダイアグラムの各第2ノード
【数29】
の目標量子状態に対して、各第2ノードの量子ビットを数値測定し、その測定方式を第3目標測定方式とする。前記第3目標測定方式は、第2測定方式のうち、測定角度として、第3ノードダイアグラムの中の、前記第2ノードに対応する第2変数に関する第3ノードの数値測定結果、前記第3ノードダイヤグラムの中の、前記第2ノードに対応する第1ノードの数値測定結果及び第2角度情報とに基づいて決定され、その測定角度は、下記式(5)で示される。
【数30】
ここで、
【数31】
は、第3ノードダイアグラムの中の、前記第2ノードに対応する第2変数に関する第3ノードの数値測定結果であり、例えば、vが3である場合、s(R
k,v)は、第3ノード
【数32】
の数値測定結果の和を示す。
【数33】
は、前記第3ノードダイヤグラムの中の、前記第2ノードに対応する第1ノードの数値測定結果であり、各第2のノードの数値測定結果
【数34】
を記録する。
【0094】
このようにして、K個のノードの数値測定結果を測定して得る。得られたK個のノードの数値測定結果に基づいて、前記複数の第1変数の第1目標数値測定結果を決定する。従って、単一ビット測定方式を採用して前記複数の第1変数の数値測定を実現することができる。更に、ユーザが単一ビット測定装置を備えるだけで関数演算を実現でき、測定装置を大幅に簡略化する。
【0095】
選択可能に、前記の前記K個のノードの数値測定結果に基づいて、前記複数の第1変数の第1目標数値測定結果を決定することは、前記複数の第1変数のそれぞれについて、前記ノードリンクダイアグラムのノードダイアグラムの中の、前記第1変数とは前記予め設定された変数関係が存在する第2変数である目標変数に対応する第2ノードの数値測定結果を加算処理し、前記第1変数に対応する目標値を得ることと、前記目標値をモジュロ演算して、前記第1変数の第1目標数値測定結果を得ることとを含む。
【0096】
本実施形態において、前記複数の第1変数の第1変数のそれぞれについて、下記式(6)を用いてその第1目標数値測定結果を決定する。
【数35】
ここで、o(v)は、前記第1変数vの第1目標数値測定結果を示し、
【数36】
は、ノードダイアグラムの中の、第1変数vに対応する第2ノードの数値測定結果を示す。全てのノードダイアグラムの中の、第1変数vに対応する第2ノードの数値測定結果を加算して、第1変数vに対応する目標値を得、それのmod2演算をして、最終的に第1変数vの第1目標数値測定結果を得る。
【0097】
第1変数のそれぞれについて、同様の方式でその第1目標数値測定結果を決定し、最終的に前記複数の変数の第1目標数値測定結果oを得る。ここで、o=(o(1),…,o(Q))。このように、前記K個のノード毎に数値測定を行うことができ、前記複数の第1変数の第1目標数値測定結果の決定を実現する。
【0098】
選択可能に、前記ステップS104は、具体的に、前記ノードリンクダイアグラムにおける前記K個のノードの目標量子状態に基づいて、前記K個のノード毎に順次数値測定を行う目標測定操作をN回実行して、前記複数の第1変数のN(正の整数である)個の第2目標数値測定結果を得ることと、目標測定操作のN回実行における前記複数の第1変数の数値測定スコア状況を表す第1目標関数値を、前記N個の第2目標数値測定結果に基づいて決定することと、前記目標測定操作における角度情報であって、前記目標測定操作で前記K個のノードの各々に対する数値測定の測定角度を決定するために用いられる前記角度情報を、前記第1目標関数値に基づいて更新することと、更新された前記角度情報に基づいて、前記目標測定操作を再びN回実行して第2目標関数値を決定することと、前記第1目標関数値と第2目標関数値との差が予め設定された閾値よりも小さい場合、前記N個の第2目標数値測定結果のうち最も出現頻度の高い測定結果を、前記複数の第1変数の第1目標数値測定結果として決定することとを含む。
【0099】
本実施形態において、数値測定のランダム性から、目標測定操作をN回実行して、前記複数の第1変数のN個の第2目標数値測定が得られる。
【0100】
また、数値測定過程における測定方式は、角度情報に基づいて決定される。角度情報が異なれば、測定方式も異なり、最終的に得られる数値測定結果も異なるため、目標測定操作をN回実行して、この角度情報の測定方式における数値測定スコア状況を決定し、この数値測定スコア状況に基づいて角度情報を更新し、そして、この更新された角度情報に基づいて数値測定を繰り返し行い、最終的に、数値測量結果の正確性を高め、関数の演算効果を高めるという目的を達成する。
【0101】
具体的には、単一ビット測定方式のアルゴリズム、即ち目標測定操作をN回実行して、毎回出力される第2目標数値測定結果を記録し、それぞれoiで示し、ここで、i=1,…,N。ここで、目標測定操作は、上記実施形態の単一ビット測定方式を用いて数値測定を行う。
【0102】
N個の第2目標数値測定結果の数値分布と、各数値分布の頻度とを統計し、
【数37】
で示す。目標関数
【数38】
を用いて、第1目標関数値を算出する。
【0103】
その後、前記第1目標関数値に基づいて古典的最適化器によってcp(γ,β)を最適化し、γとβ、即ち角度情報の値を更新する。
【0104】
更新された前記角度情報、即ち、目標測定操作における第1角度情報及び第2角度情報に基づいて、前記目標測定操作を再びN回実行し、即ち上記ステップを繰り返して第2目標関数値を得る。2回連続して得られた第1目標関数値と第2目標関数値との差が予め設定された閾値よりも小さくなると、動作を停止し、前記N個の第2目標数値測定結果のうち最も出現頻度の高い測定結果を前記複数の第1変数の第1目標数値測定結果として決定し、
【数39】
を出力する。ここで、この予め設定された閾値は、実際の状況に応じて設定されてもよく、予め入力されたパラメータであってもよい。
【0105】
例えば、N個の第2目標数値測定結果のうち、ビット列「0101」の出現頻度が最も高いため、前記複数の第1変数の第1目標数値測定結果は、ビット列「0101」である。
【0106】
選択可能に、前記ステップS103は、具体的に、前記の前記ノードリンクダイアグラムの量子もつれ状態を生成することは、前記K個のノードの各々の量子状態を生成することと、前記K個のノードの各々の量子状態に基づいてテンソル積演算を行って第1演算結果を得ることと、T(前記ノードリンクダイアグラムに含まれる無方向エッジの数に基づいて決定される)個の、制御Zゲートに対応する情報である制御情報に対してテンソル積と行列乗算を行って第2演算結果を得ることと、前記第1演算結果と第2演算結果とを乗算して、前記ノードリンクダイアグラムの量子もつれ状態を得ることとを含む。
【0107】
本実施形態において、関数処理装置がQAOAダイアグラムに基づいてこのQAOAダイアグラムの量子もつれ状態を構築する手順について説明するが、ここで、QAOAの量子もつれ状態をQAOAダイアグラムのダイアグラム状態と呼ぶ。
【0108】
具体的には、QAOAダイアグラムでは、前記K個のノードのそれぞれの量子状態を生成する。この量子状態は、対応するレイヤ、即ちサブシステムにおけるノードの物理状態である。具体的には、1つの量子状態
【数40】
状態を作る。2つのノード間に無方向エッジが連結されていれば、その2つのノードに対応する量子状態に1つの制御Zゲートを作用させる。制御Zゲートの制御情報として、
【数41】
は、パウリ行列である。
【0109】
ここで、これら2つのノードに対応する量子状態に1つの制御Zゲートを作用させることは、2つのノードの量子状態をテンソル積演算し、その後に制御Zゲートに対応する制御情報と行列乗算を行い、出力を得る。
【0110】
制御Zゲートは、対角形式であり、制御ビットと被制御ビットを区別しないため、複数の制御Zゲートを一度にノードリンクダイアグラムに作用させることができる。具体的には、前記K個のノードの各々の量子状態に基づいてテンソル積演算を行って第1演算結果を得る。更にT個の制御情報に対してテンソル積と行列乗算を行って第2演算結果を得る。Tは、ノードリンクダイアグラムに含まれる無方向エッジの数である。その後、第1演算結果と第2演算結果とを乗算して、前記ノードリンクダイアグラムの量子もつれ状態を得る。これにより、演算が比較的浅くなり、アルゴリズムの進化の効果を更に高めることができる。
【0111】
たとえば、ダイアグラムGをG=(V,E)で示し、Vをノード集合、Eを無方向エッジ集合とすると、下記式(7)のようにダイアグラムGのダイアグラム状態を生成する。
【数42】
【0112】
上記式(7)と同様に、QAOAダイアグラムに対応するダイアグラム状態
【数43】
、即ちQAOAの量子もつれ状態を生成する。
【0113】
本実施形態において、関数処理装置でノードリンクダイアグラムの構成に基づいてノードリンクダイアグラムの量子もつれ状態を構築することができ、これにより、QAOAアルゴリズムの進化をローカルで実現することができる。
【0114】
選択可能に、前記ステップS103は、具体的に、前記ノードリンクダイアグラムに対応する量子資源状態を取得することと、前記ノードリンクダイアグラムに基づいて前記量子資源状態を裁断して前記ノードリンクダイアグラムの量子もつれ状態を得ることとを含む。
【0115】
本実施形態において、関数処理装置は、構築されたQAOAのノードリンクダイアグラムに基づいて、クラウド量子サーバ等の他の電子機器に適切なサイズの量子資源状態を要求して、前記ノードリンクダイアグラムに対応する汎用量子資源状態を取得する。その後、構築されたQAOAのノードリンクダイアグラムの構造に従って前記量子資源状態を裁断し、前記ノードリンクダイアグラムの量子もつれ状態を得る。この量子資源状態とは、システムの汎用量子もつれ状態であり、クラスタ状態又は他の汎用量子資源状態である。
【0116】
要求された量子資源状態は、QAOAアルゴリズムとは無関係な汎用量子状態であるため、クラウド量子サーバのような別の電子機器は、どのようなデータを使用し、どのようなアルゴリズムを実行しているかを知ることができず、これによりQAOAアルゴリズムを量子インターネットに応用して安全な代理計算を行うことができ、QAOAアルゴリズムが進化すると同時にユーザのプライバシーと計算の安全を守ることができる。
実施例2
【0117】
図4に示すように、本願に係る関数処理装置400は、複数の第1変数からなる複数の項を含む第1多項式関数を取得するための取得モジュール401と、量子近似最適化アルゴリズムQAOAのノードリンクダイアグラムであって、K(前記第1多項式関数に基づいて決定される1より大きい整数である)個のノードを含む前記ノードリンクダイアグラムを、前記第1多項式関数に基づいて構築するための構築モジュール402と、前記ノードリンクダイアグラムの量子もつれ状態であって、前記ノードリンクダイアグラムにおける前記K個のノードの目標量子状態を含む前記量子もつれ状態を生成するための生成モジュール403と、前記ノードリンクダイアグラムにおける前記K個のノードの目標量子状態に基づいて、前記K個のノード毎に順次数値測定を行い、前記複数の第1変数の第1目標数値測定結果を得るための数値測定モジュール404とを含む。
【0118】
選択可能に、前記構築モジュール402は、M(前記第1多項式関数に基づいて決定される)個のノードを含むノードダイアグラムを、前記第1多項式関数に基づいて構築するための構築サブモジュールと、前記ノードダイアグラムを順次平行に繰り返し積み重ねることによって、前記M個のノードを含む前記K(M以上の整数である)個のノードを含むQAOAのノードリンクダイアグラムを構築するための繰り返し積み重ねサブモジュールとを含む。
【0119】
選択可能に、前記構築サブモジュールは、予め設定された変数関係に基づいて、前記第1変数とは前記予め設定された変数関係を満たす複数の第2変数からなる複数の項を含む第2多項式関数を、前記第1多項式関数における第1変数に対して変数置換処理を行うことによって得るための変数置換処理ユニットと、前記複数の第2変数に1対1に対応するQ(1より大きい整数である)個の第2ノードと、前記Q個の第2ノードに1対1に対応するQ個の第1ノードを作成するための第1作成ユニットと、順次縦方向に配列された前記Q個の第1ノードと、順次縦方向に配列された前記Q個の第2ノードと、並列に配列された第1ノードと第2ノードとを連結する無方向エッジとを含むノードダイアグラムを、前記M個のノードに含まれる前記Q個の第1ノードと前記Q個の第2ノードとに基づいて構築するための構築ユニットとを含む。
【0120】
選択可能に、複数の第2変数からなる複数の項が少なくとも2つの第2変数の項を含む場合、前記構築サブモジュールは、複数の第2変数からなる複数の項のうち、少なくとも2つの第2変数を含む項に1対1に対応するL(正の整数である)個の第3ノードを作成するための第2作成ユニットと、前記L個の第3ノードのそれぞれについて、前記Q個の第1ノードのうち、前記第3ノードに対応する項における第2変数に対応する第1ノードである目標ノードの少なくとも2つに前記第3ノードをそれぞれ連結して、前記第3ノードと少なくとも2つの前記目標ノードとの間の無方向エッジを得るための連結ユニットとを更に含む。ここで、前記ノードダイアグラムは、前記L個の第3ノードと、前記L個の第3ノードと目標ノードとの間の無方向エッジとを更に含み、前記M個のノードは、前記L個の第3ノードを更に含む。
【0121】
選択可能に、前記数値測定モジュール404は、前記ノードリンクダイアグラムにおける前記K個のノードの目標量子状態に基づいて、前記ノードリンクダイアグラムにおけるノードダイアグラムの積み重ね順に、ノードダイアグラムにおけるノードの各々に対して順次数値測定を行い、前記K個のノードの数値測定結果を得るための数値測定ユニットと、前記K個のノードの数値測定結果に基づいて、前記複数の第1変数の第1目標数値測定結果を決定するための第1決定ユニットとを含む。
【0122】
選択可能に、前記ノードリンクダイアグラムにおけるノードダイアグラムは、第1ノードダイアグラムを含み、前記第1ノードダイアグラムは、前記ノードリンクダイアグラムにおけるノードダイアグラムのいずれかであり、前記数値測定ユニットは、具体的に、第1測定方式のうち、測定角度として、前記第1ノードダイアグラムの前に積み重ねられるノードダイアグラムである第2ノードダイアグラムの中の、前記第3ノードに対応する第2ノードの数値測定結果、前記第3ノードに対応する項における係数及び第1角度情報に基づいて決定される測定方式である第1目標測定方式を用いて、前記第1ノードダイアグラムにおける第3ノードのそれぞれについて、前記ノードリンクダイアグラムにおける前記第3ノードの目標量子状態に基づいて、前記第3ノードに対して数値測定を行うことによって、前記第1ノードダイアグラムにおける第3ノードの数値測定結果を得ることと、第2測定方式のうち、測定角度として、第2ノードダイアグラムの中の、前記第1ノードに対応する第2ノードの数値測定結果、前記第1ノードに対応する第2変数の項における係数及び第1角度情報に基づいて決定される測定方式である第2目標測定方式を用いて、前記第1ノードダイアグラムにおける第1ノードのそれぞれについて、前記ノードリンクダイアグラムにおける前記第1ノードの目標量子状態に基づいて、前記第1ノードに対して数値測定を行うことによって、前記第1ノードダイアグラムにおける第1ノードの数値測定結果を得ることと、第2測定方式のうち、測定角度として、前記第1ノードダイアグラムと第2ノードダイアグラムとを含む第3ノードダイアグラムの中の、前記第2ノードに対応する第2変数に関する第3ノードの数値測定結果、前記第3ノードダイアグラムの中の、前記第2ノードに対応する第1ノードの数値測定結果及び第2角度情報に基づいて決定される測定方式である第3目標測定方式を用いて、前記第1ノードダイアグラムにおける第2ノードのそれぞれについて、前記ノードリンクダイアグラムにおける前記第2ノードの目標量子状態に基づいて、前記第2ノードに対して数値測定を行うことによって、前記第1ノードダイアグラムにおける第2ノードの数値測定結果を得ることとに用いられる。
【0123】
選択可能に、前記第1決定ユニットは、具体的に、前記複数の第1変数のそれぞれについて、前記ノードリンクダイアグラムのノードダイアグラムの中の、前記第1変数とは前記予め設定された変数関係が存在する第2変数である目標変数に対応する第2ノードの数値測定結果を加算処理し、前記第1変数に対応する目標値を得ることと、前記目標値をモジュロ演算して、前記第1変数の第1目標数値測定結果を得ることとに用いられる。
【0124】
選択可能に、前記数値測定モジュール404は、前記ノードリンクダイアグラムにおける前記K個のノードの目標量子状態に基づいて、前記K個のノード毎に順次数値測定を行う目標測定操作をN回実行して、前記複数の第1変数のN(正の整数である)個の第2目標数値測定結果を得るための第1実行ユニットと、目標測定操作のN回実行における前記複数の第1変数の数値測定スコア状況を表す第1目標関数値を、前記N個の第2目標数値測定結果に基づいて決定するための第2決定ユニットと、前記目標測定操作における角度情報であって、前記目標測定操作で前記K個のノードの各々に対する数値測定の測定角度を決定するために用いられる前記角度情報を、前記第1目標関数値に基づいて更新するための更新ユニットと、更新された前記角度情報に基づいて、前記目標測定操作を再びN回実行して第2目標関数値を決定するための第2実行ユニットと、前記第1目標関数値と第2目標関数値との差が予め設定された閾値よりも小さい場合、前記N個の第2目標数値測定結果のうち最も出現頻度の高い測定結果を、前記複数の第1変数の第1目標数値測定結果として決定するための第3決定ユニットとを含む。
【0125】
選択可能に、前記生成モジュール403は、前記K個のノードの各々の量子状態を生成するための生成ユニットと、前記K個のノードの各々の量子状態に基づいてテンソル積演算を行って第1演算結果を得るための第1演算ユニットと、T(前記ノードリンクダイアグラムに含まれる無方向エッジの数に基づいて決定される)個の、制御Zゲートに対応する情報である制御情報に対してテンソル積と行列乗算を行って第2演算結果を得るための第2演算ユニットと、前記第1演算結果と第2演算結果とを乗算して、前記ノードリンクダイアグラムの量子もつれ状態を得るための第3演算ユニットとを含む。
【0126】
選択可能に、前記生成モジュール403は、前記ノードリンクダイアグラムに対応する量子資源状態を取得するための取得ユニットと、前記ノードリンクダイアグラムに基づいて前記量子資源状態を裁断して前記ノードリンクダイアグラムの量子もつれ状態を得るための裁断ユニットとを含む。
【0127】
本願に係る関数処理装置400は、関数処理方法の実施例によって実現される各プロセスを実現し、同じ効果を奏することもできるので、重複を避けるために、ここでは繰り返して記載しない。
【0128】
本願の実施例によれば、本願は、電子機器、可読記憶媒体及びコンピュータプログラムプロダクトを更に提供する。
【0129】
図5は、本開示の実施例を実施するために使用することができる例示的電子機器500の概略ブロック図を示す。電子機器は、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレームコンピュータ、及び他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すことが意図される。電子機器はまた、パーソナルデジタルプロセシング、セルラー電話、スマートフォン、ウェアラブルデバイス、及び他の同様のコンピューティングデバイスなど、様々な形態のモバイルデバイスを表してもよい。本明細書に示される構成要素、それらの接続及び関係、並びにそれらの機能は、単なる例であり、本明細書に記載及び/又は特許請求される本願の実現を限定することを意図しない。
【0130】
図5に示すように、機器500は、リードオンリーメモリ(ROM)502に記憶されたコンピュータプログラム、又は、記憶ユニット508からランダムアクセスメモリ(RAM)503にロードされたコンピュータプログラムに基づいて、各種類の適切な動作や処理を実行する計算ユニット501を含む。RAM503には、機器500の動作に必要な各種類のプログラム及びデータも記憶されている。計算ユニット501、ROM502及びRAM503は、バス504を介して互いに接続される。入出力(I/O)インタフェース505もバス504に接続される。
【0131】
キーボード、マウスなどの入力ユニット506と、各種類のディスプレイ、スピーカーなどの出力ユニット507と、磁気ディスク、光ディスクなどの記憶ユニット508と、ネットワークカード、モデム、無線通信送受信機などの通信ユニット509を含む機器500内の複数の部材は、I/Oインタフェース505に接続される。通信ユニット509は、インターネットのコンピュータネットワーク及び/又は各種類の電気通信ネットワークを介した機器500と他の機器との情報/データのやり取りを許容する。
【0132】
計算ユニット501は、処理及び計算能力を有する各種類の汎用及び/又は専用処理構成要素である。計算ユニット501の例として、中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)、各種類の専用の人工知能(AI)計算チップ、機械学習モデルアルゴリズムを実行する各種類の計算ユニット、デジタル信号プロセッサ(DSP)、及び任意の適切なプロセッサ、コントローラ、マイクロコントローラなどを含み、それらに限られない。計算ユニット501は、上記の各方法及び処理を実行し、例えば関数処理方法を実行する。例えば、一部の実施例において、関数処理方法は、コンピュータソフトウェアプログラムとして実現され、記憶ユニット508のような機械可読媒体に有形構成として含まれる。一部の実施例において、コンピュータプログラムの一部又はすべては、ROM502及び/又は通信ユニット509を介して機器500にロード/インストールされる。コンピュータプログラムがRAM503にロードされて計算ユニット501によって実行されると、上記の関数処理方法の1つ又は複数のステップを実行する。オプションとして、他の実施例において、計算ユニット501は、それ以外の任意の適切な方法(又はファームウェアを介して)によって、関数処理方法を実行するように構成される。
【0133】
ここに記載するシステム及び技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特殊用途向け汎用品(ASSP)、システムオンチップ(SOC)、コンプレックスプログラマブルロジックデバイス(CPLD)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせにおいて実現される。これらの様々な実施形態は、記憶システム、少なくとも1つの入力装置、及び少なくとも1つの出力装置からデータ及びコマンドを受信し、該記憶システム、該少なくとも1つの入力装置、及び該少なくとも1つの出力装置にデータ及びコマンドを送信することができる専用又は汎用のプログラマブルプロセッサである少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行及び/又は解釈可能な1つ又は複数のコンピュータプログラムで実現することを含む。
【0134】
本開示の方法を実施するためのプログラムコードは、1つ以上の編集言語の任意の組合せを用いて記述することができる。これらのプログラムコードは、汎用コンピュータ、専用コンピュータ、又は他のプログラマブルデータ処理装置のプロセッサ又はコントローラに提供され、プログラムコードがプロセッサ又はコントローラによって実行されると、フローチャート及び/又はブロック図に規定された機能/動作が実行される。プログラムコードは、完全にマシン上で実行され、部分的にマシン上で実行され、個別パッケージとして部分的にマシン上で実行され、部分的にリモートマシン上で実行され、又はリモートマシン又はサーバ上で完全に実行される。
【0135】
本開示の記載において、機械可読媒体は、有形媒体であってもよく、命令実行システム、デバイス、又はデバイスに使用されるか、又は命令実行システム、デバイス、又はデバイスと組み合わせて使用するためのプログラムを含むか、又は格納することができる。機械可読媒体は、機械可読信号媒体又は機械可読記憶媒体である。機械可読媒体は、限定されないが、電子的、磁気的、光学的、電磁的、赤外線的、又は半導体システム、装置若しくは機器、又は上記の任意の適切な組み合わせを含む。機械可読記憶媒体のより具体的な例としては、1つ以上のラインに基づく電気的接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、消去可能なプログラマブル読み取り専用メモリ(EPROM又はフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスク読み取り専用メモリCD-ROM)、光記憶装置、磁気記憶装置、又はこれらの任意の適切な組み合わせを含む。
【0136】
ユーザとの対話を提供するために、本明細書に記載されたシステム及び技術は、ユーザに情報を表示するための表示装置(例えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)モニタ)と、ユーザがコンピュータに入力を提供することができるキーボード及びポインティングデバイス(例えば、マウス又はトラックボール)とを有するコンピュータ上で実施される。他の種類の装置を使用して、ユーザとの対話を提供してもよい。例えば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック(例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック)であってもよい。ユーザからの入力は、音声入力、又は触覚入力を含む任意の形態で受信される。
【0137】
ここに記載のシステム及び技術は、バックエンド構成要素を含むコンピューティングシステム(例えば、データサーバとして)、又はミドルウェア構成要素を含むコンピューティングシステム(例えば、アプリケーションサーバ)、又はフロントエンド構成要素を含むコンピューティングシステム(例えば、ユーザが本明細書に記載のシステム及び技術の実施形態と相互作用するグラフィカルユーザインターフェース又はウェブブラウザを有するユーザコンピュータ)、又はそのようなバックエンド構成要素、ミドルウェア構成要素、又はフロントエンド構成要素の任意の組み合わせを含むコンピューティングシステムにおいて実施される。システムの構成要素は、任意の形式又は媒体(例えば、通信ネットワーク)のデジタルデータ通信によって互いに接続される。通信ネットワークとしては、例えば、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、ブロックチェーンネットワークなどが挙げられる。
【0138】
コンピュータシステムは、クライアント及びサーバを含む。クライアント及びサーバは、一般に、互いから離れており、通常、通信ネットワークを介して対話する。クライアントとサーバの関係は、それぞれのコンピュータ上で実行され、互いにクライアント-サーバ関係を有するコンピュータプログラムによって生成される。サーバは、クラウドサーバであってよく、クラウドコンピューティングサーバ又はクラウドホストとも称され、クラウドコンピューティングサービスアーキテクチャにおけるホスト製品の1つであり、従来の物理ホスト及びVPS(Virtual Private Server)サービスにおける管理困難性が高く、トラフィック拡張性が低いという欠点を解決する。サーバは、分散システムのサーバ又はブロックチェーンを結合したサーバであってもよい。
【0139】
上記に示された様々な形態のフローが、ステップの順序変更、追加、又は削除のために使用されることが理解されるべきである。例えば、本願に記載された各ステップは、並列に実行されても、順次的に実行されても、異なる順序で実行されてもよく、本願に開示された技術的解決手段の所望の結果を実現できる限り、本明細書ではこれについて限定しない。
【0140】
上述した具体的な実施形態は、本願の保護範囲への制限にならない。当業者にとって、設計の要求や他の要素によって様々な修正、組み合わせ、サブ組み合わせ及び置換を行うことができることは、明らかである。本願の趣旨や原則内に為した修正、均等置換及び改良などは、すべて本願の保護範囲に含まれるべきである。