Microsoft の量子プログラミング言語 Q# は量子物理学の学習に役立つ可能性がある

Krysta Svore Microsoft Q# 量子コンピューティング コーディング
マイクロソフト

コンピュータはおかしくなりつつあります。

コンテンツ

  • 謎を親しみやすくする
  • 量子コミュニティ
  • 明日の準備

理論として数十年が経過した後、最初の量子コンピューターは現在、世界中の選ばれた少数の研究室に置かれています。 これらは初歩的なものであり、重量 50 トンの ENIAC のような初期の電子コンピューターよりも実用性が低いのは間違いありません。 それでも研究者は進歩している。 IBM、Google、インテルは進歩を遂げています 量子ハードウェア上で実用化され、ついに実用的な量子コンピューターが SF の対象ではなく、近未来の現実のように感じられます。

それはチャンスです。 それは問題でもあります。 量子物理学は、私たちがよく知っているルールに従わない、テレポーテーションと確率の奇妙な領域です。 ほとんどの人は量子力学を理解していませんが、その中には量子コンピューターを実用化する必要があるプログラマーも含まれます。

関連している

  • Surface の修理部品が Microsoft Store から入手できるようになりました
  • Microsoft Teams に新しい AI ツールが追加 - しかも無料
  • Microsoft、主要な Windows 11 アプリのデザインの全面見直しを示唆

マイクロソフトは彼らを教育する計画を持っています。

謎を親しみやすくする

C# や Javascript などの新しいプログラミング言語を学ぼうとしている開発者は、彼女のレッスンをすぐに活用したいと考えています。 しかし、量子コンピューティングは初期段階にあるため、それが困難になる可能性があります。 多くの量子デバイス用のプログラムを作成することは、バイナリ マシン コードで記述しようとすることによく似ていますが、量子力学のためさらに難しい点が異なります。 これは、よく理解されていても翻訳が難しい分野というだけではありません。 これは、基礎的な部分がまだわかっていない研究分野です。

Microsoft Quantum Q#、コンピューター上でコーディング
マット・スミス/デジタルトレンド

その理由も含めて なぜ 量子コンピューターが動作します。 「私たちが量子コンピューティングで得ているのは、量子コンピューターが古典的なコンピューターを上回るパフォーマンスを発揮できるという証拠です。」 主任研究マネージャー、クリスタ・スヴォア氏はこう述べています。 Microsoft の量子アーキテクチャおよび計算グループにて。 「私たちの分野における聖杯は、それを実際に数学的に証明するものとなるでしょう。」

量子コンピューティングは非常に新しく、これまでのものとはまったく異なっているため、トップの研究者でさえ重要かつ基本的な要素については闇の中です。

量子コンピューティング 101

実際のハードウェア上で量子向けのコードをプログラマーに教えることは、今のところ問題外です。 Microsoft の量子プログラミング言語 Q# は、プログラミングを開始するために必要なツールへの簡単なアクセスを提供することで、この問題を回避します。 これは、科学者が量子コンピューターの仕組みの基礎における画期的な進歩を続けているにもかかわらず、Q# をできるだけ親しみやすく、親しみやすいものにすることを意味します。

Q# は、ひどいドキュメントや説明が不十分なインストーラーの壁の後ろに隠れているわけではありません。 プログラマーは Visual Studio を通じてアクセスできます。 世界で最も人気のある開発環境. また、プログラマーは、量子コンピューターを使用するために、それにアクセスする必要はありません。

代わりに、コードを実際の量子デバイス上で実行するかのようにプログラムして、それを仮想シミュレーション上で実行できます。 それが可能なのは、量子コンピューターがそれ自体が完全な独立したシステムとして扱われていないためです。 その代わりに、古典的なコンピューターを実行する古典的なコンピューターによって呼び出されるアクセラレーターとして使用されます。 コード。

「量子コンピューターは、GPU、FPGA、ASIC と並んで、Azure で使用されるもう 1 つのリソースであると私たちは想定しています。 Azure は、そのコンピューティングに量子コンピューターを含むファブリック全体になります」と Svore 氏は Digital Trends に語った。

量子Microsoft QコーディングPython相互運用jpg 3605
量子 Microsoft Q コーディング サンプル github jpg 3604
量子マイクロソフト Q コーディング 3603
量子マイクロソフトQコーディングPythonシミュレーションjpg 3602

ほとんどのプログラマーは、特定のタスクに専用のハードウェアを使用することに慣れており、クラウド内のリソースを呼び出すことに慣れています。 Q# の起動は、これらのよく知られたタスクと変わりません。 量子ハードウェアは風変わりで珍しいかもしれませんが、Microsoft が Q# 用に提供するプログラミング環境は次のとおりです。 フォーチュン 500 位以下のプログラマーの肩越しに今日見るものとまったく同じです。 企業。 そうすれば、それほど威圧感がなくなります。

「究極のビジョンは、ユーザーが『よし、このアプリを取り出して、CPU のこの部分、ここのこの部分、あそこのこの部分で実行する必要がある』と言わないことです」と Svore 氏は述べています。 「量子コンピューティングも同様です。 私たちはアクセラレーターがシームレスであることを望んでいます。」

量子コミュニティ

プログラマーは、Microsoft が Quantum Katas と呼ぶ一連の無料チュートリアルを通じて Q# について学ぶことができます。 各レッスンには、プログラマーが解決するよう求められる「特定の量子コンピューティングのトピックに関する一連のタスク」が含まれます。 正しい解決策を見つけることが目標ですが、その過程も同様に重要です。 型は 1 回のパスで解決できるものではありません。 彼らは試行錯誤しながら教え、その過程でプログラマーに量子プログラミングの基礎を紹介します。

Q# と Quantum Katas は、量子プログラミングに革新的なレベルのフィードバックをもたらします

Microsoft のリサーチ ソフトウェア開発エンジニアである Chris Granade は、シドニー工科大学が主催するチュートリアル セッションに参加し、その目でこれらを確認しました。 「人々が量子に関する知識がゼロから量子を書けるようになるのを見るのは本当に驚きでした」と彼は Digital Trends に語った。 「変革をもたらしたのは、人々が誤解を抱いても、それに悩まされなかったことです。 彼らは型を実行し、間違った答えを確認することができ、そのフィードバックによって人々は実際に実践的な方法で理解することができました。」

この実践的な経験は、量子コンピューティングを理論的な概念から実際的な現実へと即座に変換し、人々の量子コンピューティングへの取り組み方に大きな違いをもたらします。 プログラマーは物理的なオブジェクトを作らないかもしれませんが、他の職人と同じようにフィードバックを見ることに慣れています。 彼らは何かを作って、それがうまくいくか、あるいはうまくいかないかです。 Q# と Quantum Katas は、そのレベルのフィードバックを量子プログラミングにもたらし、興味のある人なら誰でも、量子コンピューティングが可能にするものを深く掘り下げて理解する機会を与えます。

量子コンピューティング

グラネード氏が実際に目にした変化は教室だけで起こっているわけではありません。 Q# が一部である Quantum Development Kit は、オープンソース ライセンスに基づいて誰でもダウンロードできます。 興味のある開発者は、使い始めるだけでなく、コミュニティに積極的に貢献することができます。 スヴォア氏は Digital Trends に対し、QDK のダウンロード数は「数万後半」であると語り、参加者は 新しいアルゴリズムや ドキュメンテーション。

この量子開発キットはまだニッチではありますが、初心者でも簡単に利用できるほど参入障壁が低く設定されています。 プログラマーは Q# の実験を開始でき、そうすることで量子コンピューティングの仕組みを理解し始めることができます。 カチカチ。 これはプログラマーだけでなく、量子物理学の分野全体にとっても役立ちます。 量子理論を説明することは、量子の世界が「古典的」な世界と比べて奇妙であるというだけでなく、大きな頭痛の種です。 物理学はほとんどのプログラマーが知っていますが、量子物理学の実際的な意味を理解するのが難しい場合もあるためです。 実演する。

「物理を知る必要はありません。 量子力学を知る必要はありません。」

古典的なコンピューターはバイナリ絶対値を扱います。 1 と 0。 オフかオンか。 量子は確率を扱います。量子向けのプログラミングとは、確率を操作して正しい解を生成するアルゴリズムを作成することを意味します。 「この波には私の解決策が含まれているのはご存知でしょう。 これらの他の波には解決策は含まれていません。 ですから、それらの波が干渉するときは、消えてほしいのです」とスヴォア氏は説明した。 「そして、私のソリューションを含む波が本当に大きくなるようにしたいと思っています。 最後に、量子状態を測定します。 高波動が出る確率は、その波動が高ければ高いほど高くなります。 それが私たちが量子アルゴリズムを設計する方法です。」

スヴォアの意味が分かりますか?

そうでなくても、悪く思わないでください。 それを理解するのは簡単ではありませんし、実証するのも簡単ではありません。 シュレディンガーの有名な猫のように、量子力学を単純化することを目的とした思考実験でさえ、頭を悩ませてしまう可能性があります。

Microsoft Quantum Q# エンジニア
マイクロソフト

Microsoft は、Q# と Quantum Katas が、この主題にアプローチするための実践的な代替手段を提供することを期待しています。 「物理を知る必要はありません。 量子力学を知る必要はありません。 実際、私は大学院まで量子力学を履修しなかったことを認めます」とスヴォア氏は語った。 「私は大学で物理学を学んだことがなく、量子コンピューティングの分野に入りました。 私は訓練を受けたコンピューター科学者です。」

量子プログラミングは、プログラマーがこれまで依存してきたツールを捨てることなく量子理論を実際に活用する機会を与えることで、洞察の窓口となる可能性があります。 物理学の学習に何年も費やす必要はありません。 早速、Q# を使用するアプリケーションを作成して、何が起こるかを見てみましょう。

明日の準備

呼び出すハードウェアがないため、今日の Q# の実際の使用は制限されています。 マイクロソフトはまだ量子コンピューターを構築していないたとえそれがあったとしても、有用な計算を実行するには原始的すぎます。 ただし、プログラマーは、シミュレートされた量子コンピューターで Q# を実行することで、自分の作業を確認できます。 これにより、ハードウェアが利用可能になったら機能するという合理的な期待を持って、量子向けのプログラムをコーディングすることが可能になります。

Krysta Svore、Chris Granade、Microsoft Quantum Q#
Microsoft の量子アーキテクチャおよび計算グループの主席研究マネージャーである Krysta Svore 氏 (左) と Microsoft のリサーチ ソフトウェア開発エンジニアである Chris Granade 氏。マット・スミス/デジタルトレンド

それは非常に重要です。 量子コンピューターは、単に現代の PC を改良したものではありません。 それらは根本的に異なります。 複雑な問題を解決するには、異なるハードウェア、異なるアルゴリズム、異なるアプローチが必要です。 たとえタイムトラベラーが機能的で安定した100万量子ビットの量子コンピューターを持って現れたとしても、ローマの学者がラップトップを渡されて困惑するのと同じように、私たちはそれを使いこなすのに苦労するだろう。 現代の開発者、プログラマー、コンピューター科学者の 99.9 パーセントは、量子コーディングの経験がなく、量子物理学がどのように機能するのかまったく知りません。 より印象的な発見をする前に、基本を理解する必要があります。

それを教えるには時間がかかりますが、Microsoft の Q# は重要な前進です。

編集者のおすすめ

  • ChatGPT が有効な Windows 11 キーを無料で生成できるようになりました
  • MicrosoftはBing Chatの不安定な応答に関する警告を無視した可能性がある
  • 中国のハッカーが米国の重要インフラを標的にしているとマイクロソフトが警告
  • Microsoft Teams でアバターと仮想空間を試せるようになりました
  • Microsoft Build 2023: AI、Windows などに関する最大の発表