公開

量子コンピュータとは?量子ビット・重ね合わせ・Web APIをやさしく解説

文:野澤 嘉孝 (ソフトウェアエンジニア/プログラミングスクール Sandbox 代表)

量子コンピュータとは?量子ビット・重ね合わせ・Web APIをやさしく解説

この記事の概要

量子コンピュータがすごく速いなら、今のパソコンは要らなくなるのでしょうか? 量子コンピュータは、重ね合わせや量子もつれなどの性質を利用して計算するコンピュータです。 ただし、どんな作業も速くなるわけではありません。 先に結論:万能なパソコンではなく、組み合わせて使う道具

量子コンピュータがすごく速いなら、今のパソコンは要らなくなるのでしょうか?

量子コンピュータは、重ね合わせや量子もつれなどの性質を利用して計算するコンピュータです。

ただし、どんな作業も速くなるわけではありません。

先に結論:万能なパソコンではなく、組み合わせて使う道具

  • 量子ビットは、0と1の重ね合わせを扱える。 でも、測定で「0.5」という第3の数字が出るわけではない。
  • 候補が多くても、全部の答えを一度に読めるわけではない。 目的の情報を取り出す手順が必要。
  • 量子もつれで、光より速くメッセージは送れない。 測定結果を自由に選べるわけではない。
  • 通常のコンピュータと役割分担して使う。 離れた量子計算サービスを利用する入口の一つがWeb API。

前半は「量子コンピュータが何をする道具か」、後半は「手元にない機能をどう利用するか」を見ていきます。

「すごく速い」のニュースで、パソコンは不要になる?

深夜のニュースを見たユウキが、思わず画面に近づきました。

ユウキ「量子コンピュータが5分で計算したって。じゃあ、家のパソコンはもういらないの?」
Sandy「待ちぃ。『何の計算をしたか』が抜けとるで!」

元の物語の題材は、Googleが2024年12月に発表した量子チップWillowです。特定のベンチマークを5分未満で実行し、比較対象のスーパーコンピュータでは約10の25乗年かかると発表側が見積もった、という内容でした。

対象はランダム回路サンプリングという性能検証用の課題です。日常の処理や新薬の設計を、その時間差で解いた話ではありません。発表資料も、このベンチマーク自体と実用的な用途を区別しています。

「何でも同じ倍率で速くなる」「古典コンピュータでは絶対に解けない」という一般的な証明として受け取らず、課題・比較方法・見積もりの条件を確認する必要があります。

量子ビットと重ね合わせ:0.5という数字ではない

通常のビットは、0か1の値を表します。量子ビットは、それに加えて0と1を重ね合わせた状態を扱えます。

ただし、0と1の間に「0.5」という第3のデジタル値ができるわけではありません。また、「本当は0か1に決まっているけれど、まだ知らないだけ」という普通の不確かさとも区別します。量子の状態には、波のように強め合ったり打ち消し合ったりする干渉が関わります。

ここでは、0と1を区別する基準で測ることを「測定(観測)」と呼びます。1量子ビットから得る結果は、0か1のどちらかです。

測定結果は0か1でも、出る確率は準備した状態によって違う。

0と1が出る確率は、準備した状態によって変わります。「重ね合わせなら必ず半々」ではありません。0が75%、1が25%となる状態も考えられます。

確率を確かめる際は、同じ状態を準備し直してから測定する実験を繰り返します。一度測った同じ状態を、何もしないまま測り直せば、毎回独立にくじを引き直せるわけではありません。

ユウキ「観測って、僕が画面を見ること?」
Sandy「人間の視線が特別なスイッチなんやない。測定する装置とのやりとりの話やで」

30量子ビットなら、約10億個の答えが出る?

n個の量子ビットでは、0と1の列として2のn乗通りの候補があり、それらに対応する成分を持つ状態を扱えます。30個なら2の30乗=1,073,741,824、約10億通りです。

しかし、その候補を1回で全部読み出せるわけではありません。

30量子ビットをまとめて0・1の基準で測定したときに得るのは、30ビットの列1本です。10億本の答えの一覧が出てくるわけではなく、すべての候補が同じ確率で出るとも限りません。

量子アルゴリズムでは、干渉などを利用して、目的の情報を取り出せるよう手順を組みます。その設計と、入力の準備・実行・測定結果の分析まで含めて、性能を考えます。

Sandy「候補がぎょうさんあることと、全部の答えを読めることは別や」
ユウキ「重ね合わせるだけで、正解が分かるんじゃないんですね」

量子もつれは、瞬間メッセージの仕組みではない

量子もつれとは、複数の量子系の間に生じる、通常の確率的な相関だけでは説明できない量子的な結びつきです。 それぞれを独立に準備した状態や、その確率的な混合だけでは、全体の状態を表せません。初めは「各部分だけでなく、全体の状態を見る必要がある」と捉えましょう。

例えば、ある理想的な2量子ビットのベル状態を同じ基準で測ると、00か11がそれぞれ50%で得られます。各量子ビットだけを見ると0か1ですが、組としては結果が対応します。

この例の相関だけではもつれを証明できず、超光速通信もできない。

これは特定の状態と測定基準での例です。もつれた状態なら、いつでも同じ数字が出るわけではありません。さらに、同じ結果が出たという相関だけで、量子もつれだと証明できるわけでもありません。

離れた側の人が、結果を自由に0や1へ選んで相手へ送れるわけでもありません。手元の結果だけから、相手のメッセージを読めないため、もつれだけで情報を光より速く送ることはできません。

何に役立つ?期待と実現条件を分けよう

量子コンピュータの活用が研究されている分野には、分子や材料などの量子的な性質を計算することがあります。薬や電池の材料開発などへの応用が期待されますが、具体的な課題での有用性は、精度・装置・計算全体の負担を含めて確かめる必要があります。

また、大きな数の素因数分解などには、十分な規模の誤り訂正された量子コンピュータで使えるアルゴリズムが知られています。手法があることと、必要な装置で実用規模の計算をできることは分けて考えます。

理論上の手法と、実用上の性能を分けて考える。

動画を見る、文章を書く、表を集計するといった作業について、「量子に替えれば速い」とはいえません。通常のコンピュータで問題を準備し、量子計算を一部に使い、結果を分析するように、組み合わせて使う考え方が重要です。

暗号への影響は、使う方式によって違います。RSAは大きな整数の素因数分解に関係する問題、楕円曲線暗号などは離散対数に関係する問題の難しさを利用しています。十分な規模の量子コンピュータは、こうした方式への脅威になりますが、「ネットの暗号は全部、素因数分解で守られている」という意味ではありません。

将来の量子計算による攻撃に備え、NISTは2024年8月に、耐量子計算機暗号の最初の3標準を確定しました。鍵を共有するための仕組みや電子署名の標準です。これは、普通のコンピュータ上で使う暗号技術で、「量子コンピュータで暗号化する」という意味ではありません。絶対に破れないと証明された、という意味でもありません。

手元のパソコンから使う入口がWeb API

量子コンピュータには複数の方式があります。超伝導方式では、量子チップを絶対零度に近い極低温まで冷却する装置を使います。ただし、すべての方式が同じ冷却条件を必要とするわけではありません。

量子の話とWeb APIは、 「特別な装置を自宅に置かず、手元のパソコンから計算を依頼する」 ところでつながります。クラウドの量子計算サービスへ、決められた形式で依頼を送る。その接点の一つがWeb APIです。

用語

意味

API

ソフトウェアの機能を、決められた方法で利用するための接点

Web API

HTTPなどのWebの仕組みを使って、機能やデータを呼び出す接点

リクエスト

利用側から送る依頼

レスポンス

サービス側から返る応答

APIは同じコンピュータ内で使うものもあります。Web APIも量子専用ではなく、天気・地図・統計などさまざまなサービスで使われます。

量子計算サービスでは、計算を依頼した直後に答えが返るとは限りません。受付番号を受け取り、実行状況を確認し、終了後に結果を取得する方式もあります。

レスポンスが受付済みを示し、結果取得が後になる方式もある。

流れは、計算を依頼する→受付番号を受け取る→状態を確認する→結果を取得する、です。最初のレスポンスが「受付完了」なら、その時点で計算結果まで返ったわけではありません。

内部の装置を一から作る必要はありませんが、入力形式や結果の意味は理解する必要があります。サービスごとの認証・料金・利用上限なども確認します。

本記事では実機への接続や有料ジョブの実行は行わず、仕組みを説明しています。練習画面を使う場合も、実機か通常のコンピュータ上のシミュレータかを確かめましょう。

JSONとオープンデータは、APIと何が違う?

JSONは、データをテキストで表す形式です。 名前と値を組にするオブジェクトや、値を並べる配列などを扱えます。Web APIの応答によく使われますが、すべてのAPIがJSONを使うわけではありません。

次は書き方を示す架空の天気データです。実在するAPIの応答や実測値ではありません。

{
  "city": "SampleCity",
  "temperature_c": 28,
  "rain_probability_percent": 20
}

ここでは、temperature_cが気温の項目名で、28が値。文字列には二重引用符を付け、数値は数値として書いています。形式が正しくても、気温の単位や日時、予報の対象が分からなければ、適切に使えません。

一方、オープンデータは、データの再利用条件に関わる言葉です。国内の基本指針では、営利・非営利を問わず二次利用できるルール、機械判読に適した形式、無償利用が要件になっています。

APIで取得できることと、無償で再利用できることは別。

3つは、見ている対象が違います。

用語

何の話?

確かめること

Web API

機能やデータを利用する接点

どう依頼し、応答を受け取るか

JSON

データの書き方

項目や値がどんな形式で書かれているか

オープンデータ

再利用できる公開データ

加工・再配布などの利用条件がどうなっているか

たとえば、オープンデータをJSONファイルとして公開する場合も、Web APIで提供する場合もあります。JSONだから自由に使える、APIだから無料、とは限りません。 出典表示などの条件も確認しましょう。

オリジナル例題:100回測った結果が少し偏ったら?

本記事のオリジナル学習例です。実際の共通テスト問題ではありません。

理想的には00と11がそれぞれ50%となる状態を準備し直して100回測定したところ、00が48回、11が52回でした。この結果だけで「50%という説明が間違い」といえるでしょうか?

解答:いえません。 50%は100回で必ず50回ずつ出るという約束ではありません。有限回の実験には統計的なばらつきがあります。実機では測定などの誤りも考慮します。また、この回数表だけでは量子もつれの証明にもなりません。

新しい技術は「何ができるか」で見よう

  • 量子ビットは重ね合わせを扱えるが、すべての候補を一度に読み出せるわけではない。
  • 量子もつれは、光より速いメッセージ送信の仕組みではない。
  • 理論上の手法、性能検証用の課題、実用での成果を区別する。
  • Web APIは利用の接点、JSONは形式、オープンデータは公開・再利用の条件として分ける。

ユウキ「新しい機械ができたら、全部取り替えるわけじゃないんですね」
テッパン先輩「やりたいことに合う道具を選ぼう」
Sandy「持つだけやなく、外の力を借りる手もあるんやな」

関連テーマは情報Ⅰサバイバルの記事一覧から確認できます。外部データを使ったアプリなどを作ってみたい方は、プログラミングスクールSandboxもご覧ください。

参考資料

あわせて読みたい記事

Sandboxのサポート内容 Sandboxの情報Ⅰ学習サポートを見る →
共通テスト情報Ⅰのまとめ 共通テスト「情報Ⅰ」対策シリーズの一覧を見る →
野澤 嘉孝

この記事を書いた人

野澤 嘉孝

ソフトウェアエンジニア/プログラミングスクール Sandbox 代表

ソフトウェアエンジニア。同志社大学理工学部を経て、京都大学大学院で核融合発電の基礎研究(プラズマ物理)に従事。高校生向け数学塾の講師、大学での物理実験の授業を通じて延べ500名以上の学生をサポート。現在は業界特化型SaaSの開発に携わりながら、小中高生向けプログラミングスクール Sandbox を運営。

プロフィールと執筆記事の一覧 →

「情報Ⅰ、うちの子はどう対策すればいい?」

情報Ⅰ対策について無料で相談する

志望校の配点を一緒に確認したい方は → 無料の学習相談へ

入会金無料・いつでも退会OK・退会後もいつでも再入会できます