JP2017059073A - 情報処理装置、情報処理システム、情報処理方法および情報処理プログラム - Google Patents

情報処理装置、情報処理システム、情報処理方法および情報処理プログラム Download PDF

Info

Publication number
JP2017059073A
JP2017059073A JP2015184625A JP2015184625A JP2017059073A JP 2017059073 A JP2017059073 A JP 2017059073A JP 2015184625 A JP2015184625 A JP 2015184625A JP 2015184625 A JP2015184625 A JP 2015184625A JP 2017059073 A JP2017059073 A JP 2017059073A
Authority
JP
Japan
Prior art keywords
data
tensor product
information processing
stream data
condition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015184625A
Other languages
English (en)
Other versions
JP6378151B2 (ja
Inventor
隼人 小林
Hayato Kobayashi
隼人 小林
崇史 宮崎
Takashi Miyazaki
崇史 宮崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yahoo Japan Corp
Original Assignee
Yahoo Japan Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yahoo Japan Corp filed Critical Yahoo Japan Corp
Priority to JP2015184625A priority Critical patent/JP6378151B2/ja
Publication of JP2017059073A publication Critical patent/JP2017059073A/ja
Application granted granted Critical
Publication of JP6378151B2 publication Critical patent/JP6378151B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】ストリームデータの量が増大した場合にも、処理に要する時間の増大を軽減できる。
【解決手段】本願に係る情報処理装置は、量子通信を介して配信対象となる複数のデータのテンソル積を受付けると、複数の値の重ね合わせ状態を保持することができる量子ビットを操作して、当該テンソル積を保持し、提供対象となるデータの条件に基づいて、前記データのテンソル積から前記条件を満たすデータを抽出するユニタリ行列を生成し、前記生成したユニタリ行列を用いて、前記データのテンソル積から前記条件を満たすデータを抽出することを特徴とする。
【選択図】図1

Description

本発明は、情報処理装置、情報処理システム、情報処理方法および情報処理プログラムに関する。
近年、動画像データや音声データのみならず、電子商取引のデータや物流管理データ、の時系列データ等の順序性があるデータ(以下、ストリームデータと記載する。)をリアルタイムに処理する技術が求められている。例えば、過去に受信したストリームデータを保持しておき、検索対象となるデータの条件を受信した場合には、その時点までの間に保持されたストリームデータから条件を満たすデータを検索し、検索結果を出力する一括処理が知られている。しかしながら、このような一括処理では、保持するストリームデータの量が増大するに従って、処理に要する時間が増大してしまう。
一方で、量子力学的な状態の重ね合わせを用いることで、従来の計算装置では実現できない規模の並列性を実現する量子計算の技術が研究されている。例えば、このような量子計算の技術として、複数の入力を重ね合わせ状態とすることで、所定の条件に対する最適解や入力された情報が有する周期等を従来の計算装置よりも高速に求める技術が提案されている。
特許第5354233号公報
「量子力学を使った情報処理」、加藤 豪、人工知能 2014年 05月号 「データストリームのためのマイニング技術」、有村 博紀、 喜田 拓也、情報処理, 46(1): 4-11
しかしながら、ストリームデータを処理する量子計算の手法については、これまで提案されていなかった。このため、ストリームデータの処理には、多くの時間や計算資源が必要である。
本願は、上記に鑑みてなされたものであって、ストリームデータの量が増大した場合にも、処理に要する時間の増大を軽減する情報処理装置、情報処理システム、情報処理方法および情報処理プログラムを提供することを目的とする。
本願に係る情報処理装置は、量子通信を介して配信対象となる複数のデータのテンソル積を受付けると、複数の値の重ね合わせ状態を保持することができる量子ビットを操作して、当該テンソル積を保持し、提供対象となるデータの条件に基づいて、前記データのテンソル積から前記条件を満たすデータを抽出するユニタリ行列を生成し、前記生成したユニタリ行列を用いて、前記データのテンソル積から前記条件を満たすデータを抽出することを特徴とする。
実施形態の一態様によれば、ストリームデータの量が増大した場合にも、処理に要する時間の増大を軽減できるという効果を奏する。
図1は、実施形態に係る情報提供処理の一例を示す図である。 図2は、実施形態に係る情報提供装置が有する機能構成の一例を示す図である。 図3は、実施形態に係る端末装置が有する機能構成の一例を示す図である。 図4は、実施形態に係る情報提供装置が実行する処理の一例を説明する図である。 図5は、実施形態にかかる情報提供装置が実行する保持処理の流れを示すフローチャートである。 図6は、実施形態にかかる情報提供装置が実行する情報提供処理の流れを示すフローチャートである。
以下に、本願に係る情報処理装置、情報処理システム、情報処理方法および情報処理プログラムを実施するための形態(以下、「実施形態」と記載する。)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置、情報処理システム、情報処理方法および情報処理プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
〔実施形態〕
〔1.情報提供処理〕
まず、図1を用いて、情報処理装置の一例である端末装置20と、情報提供装置10とを有する情報処理システム1の一例について説明する。図1は、実施形態に係る情報提供処理の一例を示す図である。図1では、入力されたストリームデータを量子的に重ね合わせたデータを配信する情報提供装置10と、配信されたデータから検索対象データを検索して提供する端末装置20の一例について説明する。
図1に示すように、情報提供装置10は、図示しないネットワーク(例えば、インターネット)を介して、端末装置20と通信可能に接続される。より具体的には、情報提供装置10と端末装置20とは、固有状態の重ね合わせを壊す事無く送受信可能な量子通信が可能である。
また、情報提供装置10は、後述する情報処理装置30から時系列順に配信されるデータ(以下、ストリームデータ100と記載する)の配信を受け付ける。なお、以下の説明では、ストリームデータ100には、複数のストリームデータA〜Cが含まれる例について説明するが、情報提供装置10は、任意の数のストリームデータ100の配信を受け付けることができる。
端末装置20は、ストリームデータ100を用いて、各種の処理を実行する装置であり、サーバ装置やクラウドシステム、利用者が使用する情報処理装置等により実現される。例えば、端末装置20は、ストリームデータ100からデータの検索を行う場合は、情報提供装置10からストリームデータ100を受信し、受信したストリームデータから検索対象となるデータを検索する。そして、端末装置20は、検索したデータを用いて、各種の処理を実行する。
情報提供装置10は、配信されたストリームデータ100を保持する。そして、情報提供装置10は、端末装置20から要求があった場合に、ストリームデータ100を端末装置10に送信する。
ここで、保持したストリームデータ100のデータ量が少ない場合には、データの検索にあまり時間がかからないため、端末装置20は、検索クエリに対する検索結果を迅速に取得することができる。しかしながら、ストリームデータ100のデータ量が増大するにしたがって、処理に要する時間や計算資源が増大してしまう。この結果、端末装置20は、検索結果を迅速に提供することができない。
そこで、情報処理システム1は、以下の情報提供処理を実行する。まず、情報提供装置10は、受信したストリームデータ100を受け付けると、複数の値の重ね合わせ状態を保持することができる量子ビットを操作して、受け付けたストリームデータ100のテンソル積を保持する。また、情報提供装置10は、端末装置20からの要求に応じて、生成したテンソル積を端末装置20へと量子通信を介して送信する。一方、端末装置20は、量子通信を介して受信したテンソル積から検索クエリが示す条件を満たすデータを抽出するユニタリ行列をオラクルとして生成する。そして、端末装置20は、生成したオラクルを用いて、検索クエリが示す条件を満たすデータを抽出し、抽出したデータを検索結果として取得する。
以下、図1を用いて、情報処理システム1による情報提供処理の一例を流れに沿って説明する。まず、図1に示した例において、情報提供装置10は、図示を省略した情報提供装置30から、送信対象データとして、複数のストリームデータA〜Cを含むストリームデータ100を随時取得する(ステップS1)。
ここで、各ストリームデータA〜Cは、それぞれ異なる情報に関するデータであってもよく、同一の情報に関するデータであってもよい。例えば、各ストリームデータA〜Cは、それぞれ異なる動画像や音声に関するデータであってもよく、同一の動画像に関するデータであってもよい。また、例えば、ストリームデータAおよびストリームデータBは、同一の動画像に関するデータであり、ストリームデータCは、他のストリームデータA、Bとは異なる動画像に関するデータであってもよい。また、ストリームデータ100は、動画像や音声以外にも、株価やニュース等の任意のコンテンツ、任意のセンサが取得したセンサデータ等であってもよい。すなわち、ストリームデータ100は、時系列順に配信される連続したデータであれば、ストリームデータ100に含まれるデータの種別や種別の数が限定されるものではない。
また、情報提供装置10は、受け付けたデータを所定長のデータに分割する(ステップS2)。例えば、情報提供装置10は、ストリームデータAをnビットのビット長を持つデータA1、データA2に分割し、ストリームデータBをnビットのビット長を持つデータB1、データB2に分割する。なお、以下の説明では、分割したストリームデータAをデータAnと記載し、分割したストリームデータBをデータBnと記載する。
ここで、ストリームデータ100を所定長のデータに分割する処理は、必須の処理ではない。例えば、情報提供装置10は、ストリームデータAをnビット分受信した場合は、受信したストリームデータAをデータAnとし、続いて受信したnビット分のストリームデータAを、データAn+1としてもよい。
続いて、情報提供装置10は、量子ビットを用いて、全てのデータをテンソル積で量子的に重ね合わせたテンソルデータを保持する(ステップS3)。例えば、情報提供装置10は、データ長がnビットのデータAnを、n次元のベクトルであって、各次元の値がデータAnに含まれる各ビットの値となるn次元のケットベクトル「|データAn>」と見做す。例えば、情報提供装置10は、データAnの値が「00110101」である場合は、データAnをケットベクトル「|00110101>」と見做す。また、情報提供装置10は、データBnを、n次元のケットベクトル「|データBn>」と見做す。
そして、情報提供装置10は、量子ビットを操作して、各データAn、Bnのケットベクトルのテンソル積を保持する。より具体的な例を説明すると、情報提供装置10は、図1に示す例では、データA1をケットベクトル「|データA1>」、データA2をケットベクトル「|データA2>」、データB1をケットベクトル「|データB1>」、データB2をケットベクトル「|データB2>」と見做す。そして、情報提供装置10は、量子ビットを操作して、以下の式(1)で示される各ケットベクトルのテンソル積を量子ビットに保持させる。
Figure 2017059073
なお、情報提供装置10は、新たにnビット分のストリームデータ100を受信した場合は、受信したnビットのストリームデータ100をn次元のケットベクトルと見做す。そして、情報提供装置10は、すでに量子ビットに保持させた状態と、新たなn次元のケットベクトルとのテンソル積を量子ビットに保持させればよい。なお、以下の説明では、量子ビットに保持させた各データのテンソル積を、ストリームデータ100のテンソル積と記載する。
続いて、情報提供装置10は、端末装置20からデータの送信要求を受け付けると、量子通信を介して、量子ビットに保持させたストリームデータ100のテンソル積を端末装置20へと送信する(ステップS4)。すなわち、情報提供装置10は、ストリームデータ100の重ね合わせ状態を壊す事無く、ストリームデータ100の重ね合わせ状態を端末装置20へと送信する。
続いて、端末装置20は、検索対象となるデータの条件(以下、検索クエリと記載する場合がある。)を満たすデータを抽出するためのユニタリ行列fを生成する。すなわち、情報提供装置10は、ストリームデータ100のテンソル積を構成する各ケットベクトルごとに独立して操作を実現するユニタリ行列fを生成する。そして、端末装置20は、生成したユニタリ行列fが示す操作を量子ビットに対して行うことで、ストリームデータ100のテンソル積を操作し、検索クエリが示す条件を満たすデータを抽出する(ステップS5)。例えば、情報提供装置10は、ストリームデータ100の転送積から、条件を満たすデータを示すケットベクトル「|データB1>」を抽出する。なお、端末装置20は、例えば、グローバーのアルゴリズム等を用いて、検索クエリが示す条件を致すデータを抽出してもよい。そして、端末装置20は、ストリームデータ100からの検索結果を用いた処理を実行する(ステップS6)。
このように、端末装置20は、量子通信を介して、ストリームデータ100のテンソル積の配信を受付けると、受付けたテンソル積を量子ビットに保持させる。そして、端末装置20は、ストリームデータ100のテンソル積から検索クエリが示す条件を満たすデータを抽出するユニタリ行列を生成し、生成したユニタリ行列を量子ビットに作用させることで、条件を満たすデータを抽出する。そして、端末装置20は、抽出したデータを検索結果として各種の処理を実行する。
上述した処理の結果、端末装置20は、ストリームデータ100のデータ量が増大した場合にも、処理に要する時間や計算資源の増大を防ぐことができる。すなわち、端末装置20は、ストリームデータ100のテンソル積を量子ビットに保持させることで、ストリームデータ100を重ね合わせ状態にする。そして、端末装置20は、重ね合わせ状態にしたストリームデータ100に対して生成したユニタリ行列を作用させることで、重ね合わせ状態のストリームデータ100から条件を満たすデータを量子計算により抽出することができる。この結果、端末装置20は、保持したストリームデータ100のデータ量によらず、処理に要する時間や計算資源の増大を防ぐことができる。
〔2.情報提供装置の構成〕
次に、図2を用いて、実施形態に係る情報提供装置10の構成について説明する。図2は、実施形態に係る情報提供装置が有する機能構成の一例を示す図である。図2に示すように、情報提供装置10は、受付部11、作成部12、受信部13、量子通信部14、量子計算装置15を有する。また、量子計算装置15は、操作部16、出力部17、状態保持部18を有する。また、状態保持部18は、複数の量子ビット18a〜18dを有する。
受付部11は、情報処理装置30が配信するストリームデータ100を取得する。そして、受付部11は、取得したストリームデータ100を作成部12に出力する。なお、図2に示す例では、1つの情報処理装置30からストリームデータ100を取得する例について記載したが、実施形態は、これに限定されるものではない。例えば、受付部11は、ストリームデータA〜Cをそれぞれ個別の情報処理装置30から取得してもよい。
作成部12は、取得したストリームデータ100を所定長のデータに分割したデータを作成する。例えば、作成部12は、受付部11からストリームデータAおよびストリームデータBを受信すると、ストリームデータAをnビット長のデータAnに分割し、ストリームデータBをnビット長のデータBnに分割する。そして、作成部12は、分割したデータAnおよびデータBnを操作部16に出力する。なお、作成部12は、ストリームデータAをnビット長だけ受信する度に、受信したnビット長のストリームデータAをデータAnとして操作部16に出力してもよい。
受信部13は、端末装置20からストリームデータ100のテンソル積の送信要求を受信する。このような場合、受信部13は、量子通信部14に、量子計算装置15が保持するストリームデータ100のテンソル積を端末装置20へ送信するよう指示する。
量子通信部14は、量子通信を介して、量子計算装置15が保持するストリームデータ100のテンソル積を端末装置20へと送信する。例えば、量子通信部14は、量子テレポーテーション等の技術を用いて、各量子ビット18a〜18dが保持する量子状態を、端末装置20が有する量子ビットへと転送する。すなわち、量子通信部14は、各量子ビット18a〜18dが保持するストリームデータ100の重ね合わせ状態を、その重ね合わせ状態を壊す事無く、端末装置20へと送信する。
量子計算装置15は、量子状態を利用して複数の値を同時に保持することができる量子ビットを用いて、ストリームデータ100のテンソル積を示す量子状態を保持する。例えば、量子計算装置15が有する状態保持部18は、複数の量子ビット18a〜18dを有し、任意の量子状態を保持することができる。なお、各量子ビット18a〜18dは、電子準位、電子スピン、イオン準位、各スピン、若しくは光子等、複数の値の重ね合わせ状態を保持することができるのであれば、任意の物理状態を利用した量子ビットを採用することができる。
操作部16は、作成部12が作成したデータ、すなわち、分割されたストリームデータ100を受信すると、受信したデータに含まれるビット列からケットベクトルを生成する。そして、操作部16は、状態保持部18に含まれる各量子ビット18a〜18dを操作し、状態保持部18が保持する情報と生成したケットベクトルとのテンソル積を、新たに状態保持部18に保持させる。すなわち、操作部16は、ストリームデータ100のテンソル積を示す量子状態を状態保持部18に保持させる。
出力部17は、各量子ビット18a〜18dは、各量子ビットが保持する量子状態を出力する。具体的には、出力部17は、各量子ビット18a〜18dが保持する重ね合わせ状態を出力し、量子通信部14から端末装置20へと量子通信を介して送信させる。
〔3.端末装置の構成〕
次に、図3を用いて、実施形態に係る端末装置20の構成について説明する。図3は、実施形態に係る端末装置が有する機能構成の一例を示す図である。図3に示すように、端末装置20は、量子通信部21、受信部22、出力部23、量子計算装置24を有する。また、量子計算装置24は、操作部25、観測部26、状態保持部27を有する。また、状態保持部27は、複数の量子ビット27a〜27dを有する。
量子通信部21は、量子通信を介して、ストリームデータ100のテンソル積を受信する。例えば、量子通信部21は、受信部22から検索クエリを受信した旨の通知を受付けると、情報提供装置10が有する量子通信部14と通信し、情報提供装置10が保持したストリームデータ100のテンソル積を受信する。かかる場合、量子通信部21は、受信したストリームデータのテンソル積を操作部25に出力する。
生成部22は、キーボードやマウス等の入力装置40を介して、検索対象となるデータの条件、すなわち、検索クエリを受信する。例えば、生成部22は、ストリームデータ100の検索を行う場合は、検索対象となるビット列の値を検索クエリとして受信する。また、生成部22は、ストリームデータ100の圧縮を行う場合は、ストリームデータ100に含まれるビット列のうち、最も出現回数が多いビット列を検索する旨を示す検索クエリを受信する。
このように、検索クエリを受信した場合は、生成部22は、検索クエリを受信した旨を量子通信部21に出力する。また、生成部22は、検索クエリが示すデータの条件に基づいて、ストリームデータ100のテンソル積から条件を満たすデータを抽出するためのユニタリ行列を生成する。
例えば、生成部22は、検索クエリに検索対象となるビット列が含まれている場合には、かかるビット列を含むストリームデータ100を、ストリームデータ100のテンソル積から抽出するための1つ以上のユニタリ行列を生成する。また、生成部22は、最も出現回数が多いビット列を検索する旨の検索クエリを受信した場合は、ストリームデータ100のテンソル積に含まれるビット列のうち、出現回数が最も多いビット列を検索するための1つ以上のユニタリ行列を生成し、生成した1つ以上のユニタリ行列を操作部25に出力する。
なお、生成部22が生成するユニタリ行列は、テンソル積としたストリームデータ100の入替、ビット反転、他のビットの値に基づいたビット反転等を実現するユニタリ行列の組み合わせにより実現される。すなわち、生成部22は、重ね合わせ状態にしたストリームデータ100から検索クエリが示す条件を満たすデータを検索する量子計算を実現する1つ以上のユニタリ作用素を生成する。
出力部23は、生成部22が生成したユニタリ行列を用いて抽出されたデータを検索結果として出力する。例えば、出力部23は、生成部22が受信した検索クエリが示す条件を満たすデータを観測部26から受け付ける。かかる場合、出力部23は、モニタやプリンタ等の出力装置50から、観測部26から受け付けたデータを出力する。なお、このようなデータは、例えば、ストリームデータ100から利用者が望むデータや、ストリームデータ100を効率よく圧縮するビット列として利用することができる。
量子計算装置24は、量子状態を利用して複数の値を同時に保持することができる量子ビットを用いて、ストリームデータ100のテンソル積を示す量子状態を保持する。そして、量子計算装置24は、保持された量子状態に対して、生成部22が生成したユニタリ行列が示すユニタリ作用素を作用させることで、検索対象となるデータの検出を行う。
例えば、量子計算装置24が有する状態保持部27は、複数の量子ビット27a〜27dを有し、任意の量子状態を保持することができる。また、操作部25は、量子通信部21が情報提供装置10から受信したストリームデータ100のテンソル積を受付けると、各量子ビット27a〜27dを操作して、受付けたストリームデータ100のテンソル積を各量子ビット27a〜27dに保持させる。
また、操作部25は、生成部22が生成したユニタリ行列を受信すると、受信したユニタリ行列が示すユニタリ作用素を、各量子ビット27a〜27dに対して作用させる。この結果、操作部25は、状態保持部27が保持する量子状態を、検索クエリが示す条件を満たすデータを示す量子状態へと遷移させることができる。その後、操作部25は、生成部22が生成した全てのユニタリ行列が示すユニタリ作用素を各量子ビット27a〜27dに作用させた場合は、観測部26に対して、データの抽出を指示する。
観測部26は、ストリームデータ100のテンソル積から、検索クエリが示す条件を満たすデータを抽出する。例えば、観測部26は、状態保持部27が保持する量子状態が、検索クエリが示す条件を満たすデータを示す量子状態へと遷移した場合は、操作部25からデータを抽出するよう指示を受け付ける。このような場合、観測部26は、所定の観測関数を用いて状態保持部27が保持する量子状態を観測し、検索クエリが示す条件を満たすデータを示すベクトルを取得する。そして、観測部26は、取得したベクトルの各成分の値からなるビット列を生成し、生成したビット列を検索結果として出力部23に出力する。
〔4.情報提供装置および端末装置が実行する情報提供処理の一例〕
次に、図4を用いて、情報提供装置10および端末装置20が実行する情報提供処理の一例について説明する。図4は、実施形態に係る情報提供装置および端末装置が実行する処理の一例を説明する図である。例えば、情報提供装置10は、図4中(A)に示すように、ストリームデータ100のテンソル積を保持することで、ストリームデータ100の重ね合わせ状態を保持する。例えば、情報提供装置10は、「|00101110110>」と「|10101010111>」とを含むベクトルのテンソル積を保持する。そして、情報提供装置10は、ストリームデータ100のテンソル積を端末装置20へと送信し、端末装置20が有する各量子ビット27a〜27dに、ストリームデータ100のテンソル積を保持させる。
一方、端末装置20は、図4中(B)に示すように、検索対象となるデータ「101010」を含む検索クエリを受付けると、ストリームデータ100のテンソル積から「101010」を含むデータを抽出するユニタリ行列fを生成する。そして、端末装置20は、保持したベクトルのテンソル積にユニタリ行列fを作用させることで、検索クエリが示すデータを含む状態に遷移させる。
例えば、端末装置20は、図4中(C)に示すように、検索対象となる「101010」を含むデータ「10101010111」の観測確率を上層させるユニタリ行列を生成し、作用させる。そして、端末装置20は、図4中(D)に示すように、量子状態の観測を行い、図4中(E)に示すように、観測の結果得られるであろうデータ「10101010111」を出力する。
〔5.情報提供装置が実行する処理の流れ〕
次に、図5を用いて、実施形態に係る情報提供装置10が実行する処理の流れについて説明する。まず、図5を用いて、情報提供装置10がストリームデータ100のテンソル積を示す量子状態を保持する保持処理の流れについて説明する。図5は、実施形態にかかる情報提供装置が実行する処理の流れを示すフローチャートである。
図5に示すように、情報提供装置10は、送信対象データとして、ストリームデータ100を受信すると(ステップS101)、ストリームデータ100のテンソル積を示す量子状態、すなわちテンソルデータを量子ビットに保持させる(ステップS103)。続いて、情報提供装置10は端末装置20からストリームデータ100のテンソル積の送信を要求する送信要求を受信したか否かを判定し(ステップS103)、受信した場合は(ステップS103:Yes)、量子通信を用いて、保持したテンソルデータを端末装置20へと送信し(ステップS104)、処理を終了する。なお、情報提供装置10は、送信要求を受信しなかった場合は(ステップS103)、ステップS101を実行する。
〔6.端末装置が実行する処理の流れ〕
次に、図6を用いて、端末装置20が実行する情報提供処理の流れについて説明する。図6は、実施形態にかかる端末装置が実行する処理の流れを示すフローチャートである。例えば、端末装置20は、検索クエリを受信したか否かを判定し(ステップS201)、受信していない場合は(ステップS201:No)、受信するまで待機する。
また、端末装置20は、検索クエリを受信した場合は(ステップS201:Yes)、情報提供装置10からテンソルデータを取得して、各量子ビット27a〜27dに保持させる(ステップS202)。また、端末装置20は、検索クエリが示す条件を満たすデータを抽出するユニタリ行列を生成し(ステップS2023)、保持する量子状態に生成したユニタリ行列を作用させる(ステップS204)。そして、端末装置20は、ユニタリ行列を作用させた後の量子状態の観測結果から、検索クエリの状態を満たすデータを取得し(ステップS205)、取得したデータを出力して(ステップS206)、処理を終了する。
〔7.変形例〕
上述した実施形態に係る情報提供システム1は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、上記の情報提供システム1の他の実施形態について説明する。
〔7−1.抽出するデータについて〕
上述した端末装置20は、ストリームデータ100のテンソル積から検索クエリが示す条件を満たすデータを抽出するための1つ以上のユニタリ行列を生成し、生成したユニタリ行列を用いた量子計算を実行した。ここで、端末装置20は、1つ以上のユニタリ行列によって実現することができる処理であれば、任意の処理を実現することができる。
例えば、端末装置20は、ストリームデータ100の圧縮を行う場合には、ストリームデータ100のうち所定の値に圧縮するビット列を抽出するユニタリ行列を生成してもよい。より具体的には、端末装置20は、テンソル積により多重化されたデータに含まれるビット列のうち、最も出現回数が多いビット列を抽出するユニタリ行列を生成し、生成したユニタリ行列によって抽出されたビット列を用いて、ストリームデータの圧縮を実現してもよい。例えば、端末装置20は、抽出したビット列を用いて、画像や文字列のストリームデータを圧縮してもよい。また、端末装置20は、ストリームデータ100のテンソル積から抽出したビット列を、ストリームデータ100のスケッチとして用いてもよい。ここで、ストリームデータ100のスケッチとは、ストリームデータ100のデータを要約したもので、ストリームデータ100の構造が把握できる情報である(例えば、非特許文献2参照)。なお、端末装置20は、複数のストリームデータ100のスケッチデータを量子的に重ね合わせたり、1つのストリームデータの時間経過によるスケッチの変化を量子的に重ね合わせてもよい。
〔7−2.他のアルゴリズムとの組合せについて〕
上述した処理では、端末装置20は、生成したユニタリ行列を用いた量子計算により、検索クエリが示す条件を満たすデータを抽出した。しかしながら、実施形態は、これに限定されるものではない。例えば、端末装置20は、グローバーの検索アルゴリズムやショアのアルゴリズム等、既知の任意のアルゴリズムを用いて、検索クエリが示す条件を満たすデータの抽出を行ってもよい。すなわち、端末装置20は、ストリームデータ100をテンソル積により重ね合わせ状態で保持することができるのであれば、任意の量子計算によりデータの抽出を行ってよい。
〔7−3.固有状態の重ね合わせについて〕
上述した説明では、情報提供システム1は、式(1)に示すように、ストリームデータ100のテンソル積を示す量子状態を配信し、配信された量子状態から、検索対象となるデータを抽出した。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供システム1は、ストリームデータ100のそれぞれを示す固有状態の総和を固有状態の重ね合わせ状態とし、かかる重ね合わせ状態を配信し、グローバーのアルゴリズムを用いて、検索対象となるデータを抽出してもよい。
例えば、情報提供装置10は、ストリームデータA1〜Anを示す固有状態と、ストリームデータB1〜Bnを示す固有状態と、ストリームデータC1〜Cnを示す固有状態とを生成する。そして、情報提供装置10は、量子ビット19a〜19dを操作して、各ストリームデータ100の固有状態の総和をストリームデータとして保持する。なお、かかる固有状態は、情報提供装置10がストリームデータ100を受付ける度に変化する。
そして、情報提供装置10は、要求に応じて、保持したストリームデータを端末装置20へと送信する。このような場合、端末装置20は、受信したストリームデータ、すなわち、各ストリームデータ100の固有状態の総和を各量子ビット27a〜27dに保持させる。また、端末装置20は、検索クエリとして、検索対象となるビット列を受信すると、グローバーのアルゴリズムを用いて、受信したビット列を含むデータを抽出する。そして、端末装置20は、抽出したデータを用いて、各種の処理を実行する。
ここで、グローバーのアルゴリズムでは、重ね合わせたデータの中から複数の正解データを検索することができる。(例えば、「量子コンピュータの基礎 [第2版]」、細谷暁夫、臨時別冊・数理科学2009年9月、78ページ参照)。そこで、端末装置20は、ワイルドカードを用いたグローバーのアルゴリズムを用いて、各ストリームデータA1〜An、B1〜Bn、C1〜Cnの中から、検索クエリと類似するデータを検索してもよい。
例えば、端末装置20は、検索クエリとなるビット列が「101110000」といったビット列である場合は、かかるビット列にワイルドカードのビット「*」を付加した「*****101110000****」といったビット列であって、各ストリームデータA1〜An、B1〜Bn、C1〜Cnと同じビット数のビット列を生成する。なお、ワイルドカードのビット「*」は、「1」および「0」の重ね合わせ状態を示す。なお、端末装置20は、「1」または「0」が連続するビット列の途中にワイルドカードのビット「*」を挿入したビット列を生成してもよい。
上述した処理により生成されるビット列は、各ストリームデータA1〜An、B1〜Bn、C1〜Cnのうち、所定の位置に「101110000」といった検索クエリとなるビット列を含むストリームデータを検索するためのクエリとなる。そこで、端末装置20は、上述した処理により生成されたビット列を検索クエリとし、かかる検索クエリと一致するストリームデータ100をグローバーのアルゴリズムで検索する。
そして、端末装置20は、ワイルドカードのビットを含む検索クエリと対応するストリームデータを検出した場合は、かかるストリームデータを検索クエリと類似するデータとして出力する。この結果、端末装置20は、例えば、検索したいビット列と、分割したストリームデータとのビット長が異なる場合にも、検索クエリを含むストリームデータ100を検索することができる。
〔7−4.ストリームデータの分割について〕
なお、上述した情報提供装置10は、ストリームデータA〜Cを、同一ビット長のストリームデータA1〜An、B1〜Bn、C1〜Cnに分割した。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置10は、ストリームデータA〜Cのデータサイズが大きくない場合には、ストリームデータA〜Cを分割することなく、そのままテンソル積若しくは固有状態の総和により重ね合わせてもよい。
〔7−5.ハードウェア構成について〕
上述した情報提供装置10や端末装置20は、ストリームデータ100のテンソル積を示す量子状態を保持する量子計算装置15、24を有していた。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置10は、受付部11、作成部12、受信部13、量子通信部14のみを有し、外部に設置された量子計算装置15にストリームデータ100のテンソル積を示す量子状態を保持させてもよい。また、端末装置20は、量子通信部21、生成部22、出力部23飲みを有し、外部に設置された量子計算装置24にストリームデータ100のテンソル積を示す量子状態を保持させてもよい。
また、情報提供装置10が有する各機能構成のうち、受付部11、作成部12、受信部13、生成部14が発揮する処理、ならびに、端末装置20が有する生成部22および出力部23が発揮する処理は、それぞれASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。また、上述した処理は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等のプロセッサによって、情報提供装置10または端末装置20内部の記憶装置に記憶されている情報提供プログラムがRAM(Random Access Memory)を作業領域として実行されることにより実現されてもよい。
〔8.効果〕
このように、端末装置20は、ストリームデータ100のテンソル積を受けつけると、量子ビット27a〜27dに保持させる。そして、情報提供装置10は、保持したストリームデータ100のテンソル積から検索クエリが示す条件を満たすデータを抽出するユニタリ行列を生成し、生成したユニタリ行列を用いて、保持したストリームデータ100のテンソル積から検索クエリが示す条件を満たすデータを抽出する。
この結果、端末装置20は、ストリームデータ100を重ね合わせ状態で保持し、量子計算を用いて検索クエリが示す条件を満たすデータを抽出して提供することができる。この結果、端末装置20は、ストリームデータ100のデータ量が増大した場合にも、処理に要する時間や計算資源の増大を防ぐことができる。
また、端末装置20は、ストリームデータ100のうち圧縮対象となるビット列を抽出するユニタリ行列を生成する。ここで、ユニタリ行列を用いた量子計算により、重ね合わせ状態のストリームデータ100から圧縮対象となるビット列を計算すると、計算結果として得られるビット列は、確率的ではあるものの、重ね合わせ状態となったストリームデータ100全体を通して最適な(極所的に最適なものではない)圧縮対象となる。このため、端末装置20は、ストリームデータ100の圧縮やスケッチを作成する際の効率を向上させることができる。
また、端末装置20は、圧縮対象となるビット列として、ストリームデータ100のうち出現回数が最も多いビット列を抽出するユニタリ行列を生成する。このため、情報提供装置10は、ストリームデータ100の圧縮やスケッチを作成する際の効率を向上させることができる。
また、情報提供システム1は、上述した端末装置20と、端末装置20へとテンソルデータを送信する情報提供装置10とを有する。情報提供装置10は、ストリームデータ100を受付けると、量子ビット18a〜18dを操作して、ストリームデータ100のテンソル積を保持する。そして、情報提供装置10は、量子通信を介して、保持したテンソル積を端末装置20へと送信する。
この結果、情報提供システム1は、ストリームデータ100を重ね合わせ状態で保持、および配信し、量子計算を用いて検索クエリが示す条件を満たすデータを抽出して提供することができる。この結果、端末装置20は、ストリームデータ100のデータ量が増大した場合にも、配信やデータの検索に要する時間や計算資源の増大を防ぐことができる。
また、情報提供装置10は、受け付けたストリームデータ100を所定長のビット列に分割し、分割した所定長のビット列に含まれる各ビットの値を各次元の値とするベクトルのテンソル積を量子ビット18a〜18dに保持させる。このため、情報提供装置10は、ストリームデータ100のテンソル積を保持することができる。
また、情報提供装置10は、1つ又は複数のストリームデータ100を受け付け、受け付けた各ストリームデータ100のテンソル積を保持する。例えば、情報提供装置10は、ストリームデータAのみならず、ストリームデータBやストリームデータCのテンソル積を示す量子状態を保持する。この結果、情報提供装置10は、全てのストリームデータ100を重ね合わせ状態で保持しつつ、各ストリームデータA〜Cの種別ごとに、データの検索や抽出を行うことができる。
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
また、上記してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、生成部は、生成手段や生成回路に読み替えることができる。
10 情報提供装置
11 受付部
12 作成部
13 受信部
14、21 量子通信部
15、24 量子計算装置
16、25 操作部
17 出力部
18 状態保持部
18a〜18d、27a〜27d 量子ビット
20 端末装置
22 生成部
23 出力部
26 観測部
30 情報処理装置

Claims (8)

  1. 量子通信を介して配信対象となる複数のデータのテンソル積を受付けると、複数の値の重ね合わせ状態を保持することができる量子ビットを操作して、当該テンソル積を保持し、
    提供対象となるデータの条件に基づいて、前記データのテンソル積から前記条件を満たすデータを抽出するユニタリ行列を生成し、
    前記生成したユニタリ行列を用いて、前記データのテンソル積から前記条件を満たすデータを抽出する
    ことを特徴とする情報処理装置。
  2. 前記情報処理装置は、
    前記データのうち圧縮対象となるビット列を抽出するユニタリ行列を生成する
    ことを特徴とする請求項1に記載の情報提供装置。
  3. 前記情報処理装置は、
    前記圧縮対象となるビット列として、前記受け付けたデータ内での出現回数が最も多いビット列を抽出するユニタリ行列を生成する
    ことを特徴とする請求項2に記載の情報処理装置。
  4. 複数の値の重ね合わせ状態を保持することができる量子ビットを操作して、連続して配信されるデータのテンソル積を生成し、
    量子通信を介して、生成したテンソル積を送信する
    情報提供装置と、
    前記量子通信を介して、前記テンソル積を受付けると、複数の値の重ね合わせ状態を保持することができる量子ビットを操作して、当該テンソル積を保持し、
    提供対象となるデータの条件に基づいて、前記データのテンソル積から前記条件を満たすデータを抽出するユニタリ行列を生成し、
    前記生成したユニタリ行列を用いて、前記データのテンソル積から前記条件を満たすデータを抽出する
    情報処理装置と、
    を有することを特徴とする情報処理システム。
  5. 前記情報提供装置は、
    前記受け付けたデータを所定長のビット列に分割し、
    前記所定長のビット列に含まれる各ビットの値を各次元の値とするベクトルのテンソル積を生成する
    ことを特徴とする請求項4に記載の情報処理システム。
  6. 前記情報提供装置は、
    時系列順に連続して配信される1つ又は複数のデータを受け付け、
    受け付けた各データのテンソル積を生成する
    ことを特徴とする請求項4または5に記載の情報処理システム。
  7. 受け付けた条件を満たすデータを出力する情報処理装置が、
    量子通信を介して配信対象となる複数のデータのテンソル積を受付けると、複数の値の重ね合わせ状態を保持することができる量子ビットを操作して、当該テンソル積を保持し、
    提供対象となるデータの条件に基づいて、前記データのテンソル積から前記条件を満たすデータを抽出するユニタリ行列を生成し、
    前記生成したユニタリ行列を用いて、前記データのテンソル積から前記条件を満たすデータを抽出する
    ことを特徴とする情報処理方法。
  8. 受け付けた条件を満たすデータを出力する情報処理装置が有するコンピュータに、
    量子通信を介して配信対象となる複数のデータのテンソル積を受付けると、複数の値の重ね合わせ状態を保持することができる量子ビットを操作して、当該テンソル積を保持し、
    提供対象となるデータの条件に基づいて、前記データのテンソル積から前記条件を満たすデータを抽出するユニタリ行列を生成し、
    前記生成したユニタリ行列を用いて、前記データのテンソル積から前記条件を満たすデータを抽出する
    処理を実行させることを特徴とする情報処理プログラム。
JP2015184625A 2015-09-18 2015-09-18 情報処理装置、情報処理システム、情報処理方法および情報処理プログラム Active JP6378151B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015184625A JP6378151B2 (ja) 2015-09-18 2015-09-18 情報処理装置、情報処理システム、情報処理方法および情報処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015184625A JP6378151B2 (ja) 2015-09-18 2015-09-18 情報処理装置、情報処理システム、情報処理方法および情報処理プログラム

Publications (2)

Publication Number Publication Date
JP2017059073A true JP2017059073A (ja) 2017-03-23
JP6378151B2 JP6378151B2 (ja) 2018-08-22

Family

ID=58391642

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015184625A Active JP6378151B2 (ja) 2015-09-18 2015-09-18 情報処理装置、情報処理システム、情報処理方法および情報処理プログラム

Country Status (1)

Country Link
JP (1) JP6378151B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102572429B1 (ko) * 2021-04-02 2023-09-01 한국과학기술정보연구원 압축된 다차원 행렬 곱셈 방법, 연산 장치 및 프로그램을 저장하는 저장매체

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006048441A (ja) * 2004-08-05 2006-02-16 Canon Inc 量子計算方法及び装置、分散量子計算実行方法及び装置、並びに量子ゲート故障診断方法及び装置
JP2009124471A (ja) * 2007-11-15 2009-06-04 Ricoh Co Ltd 再生装置、再生方法、再生プログラム及び記録媒体
US20100150222A1 (en) * 2004-08-04 2010-06-17 U.S. Government As Represented By The Secretary Of The Army Quantum based information transmission system and method
JP2011061833A (ja) * 2010-10-28 2011-03-24 Mitsubishi Electric Corp 量子暗号通信システムおよび送信装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100150222A1 (en) * 2004-08-04 2010-06-17 U.S. Government As Represented By The Secretary Of The Army Quantum based information transmission system and method
JP2006048441A (ja) * 2004-08-05 2006-02-16 Canon Inc 量子計算方法及び装置、分散量子計算実行方法及び装置、並びに量子ゲート故障診断方法及び装置
JP2009124471A (ja) * 2007-11-15 2009-06-04 Ricoh Co Ltd 再生装置、再生方法、再生プログラム及び記録媒体
JP2011061833A (ja) * 2010-10-28 2011-03-24 Mitsubishi Electric Corp 量子暗号通信システムおよび送信装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
全 卓樹: "量子的コンピューティングと量子ゲーム理論", 計測と制御, vol. 第51巻,第4号, JPN6018007760, 10 April 2012 (2012-04-10), JP, pages 396 - 401, ISSN: 0003751297 *

Also Published As

Publication number Publication date
JP6378151B2 (ja) 2018-08-22

Similar Documents

Publication Publication Date Title
Hossain et al. Emotion recognition using secure edge and cloud computing
He et al. Group knowledge transfer: Federated learning of large cnns at the edge
CN106959965B (zh) 一种信息处理方法及服务器
Chiang et al. A quantum-inspired Tabu search algorithm for solving combinatorial optimization problems
US20150254329A1 (en) Entity resolution from documents
CN109918184A (zh) 图片处理系统、方法及相关装置和设备
US11368279B2 (en) Processing apparatus, processing method, storage medium, and encryption processing system
US11477015B1 (en) Quantum state blockchain
Fang et al. Secure function evaluation using an fpga overlay architecture
CN109214543B (zh) 数据处理方法及装置
CN114008594A (zh) 调度计算图上的操作
Cheng et al. Improved delay-dependent stability criteria for continuous system with two additive time-varying delay components
WO2022160442A1 (zh) 答案生成方法、装置、电子设备及可读存储介质
JP6378151B2 (ja) 情報処理装置、情報処理システム、情報処理方法および情報処理プログラム
Pechyony et al. Solving large scale linear SVM with distributed block minimization
EP3940567A1 (en) Conversion system, method and program
Shankar et al. Multiple share creation with optimal hash function for image security in wsn aid of ogwo
Połap et al. Federated learning model with augmentation and samples exchange mechanism
Wang et al. Extreme learning machine ensemble classifier for large-scale data
US20170302437A1 (en) Nondecreasing sequence determining device, method and program
Bhatia et al. Federated quanvolutional neural network: a new paradigm for collaborative quantum learning
Lee et al. Distributed training of structured SVM
Zaikin et al. A volunteer-computing-based grid architecture incorporating idle resources of computational clusters
Ovalle et al. Distributed Cache Strategies for Machine Learning Classification Tasks over Cluster Computing Resources
Woishe et al. Optimizing IoT Based Parallel Server in a Low Power Operational Environment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170315

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180306

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180501

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180626

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180726

R150 Certificate of patent or registration of utility model

Ref document number: 6378151

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250