アリババクラウドの量子コンピュータを触ってみた

この記事は量子コンピュータ #2 Advent Calendar 201816日目の記事です.

概要

アリババクラウドが無料で使用できる量子コンピュータを公開しているのでそれを使ってみました.

使うための登録などから,使ってみて感じた利点や欠点などについて簡単に述べていきます.

アリババクラウド量子コンピュータ

アリババクラウド量子コンピュータのページは以下になります.

http://quantumcomputer.ac.cn/index.html

アリババは中国の企業なのでHPの文字はデフォルトは中国語になっています.

中国語が読める人はそのままでも良いですが右上の言語選択でEnglishを選べば英語にはすることが出来ます.

以下では英語表示を前提として説明をしていきます.

登録

使用するためにはまずアリババクラウド量子コンピュータに登録する必要があります.

トップページ中央のGet Started,または右上タブのLoginかExperimentから進むとログイン画面が出てくるので,そこからSing upへ進んで登録をしていきます.

f:id:kadora:20181212203636p:plain:w600

ユーザ名,メール,パスワードを入力して登録をすると登録したメール宛に怪しい中国語のメールが飛んできますが登録を確定させるために必要なリンクが載っているので恐れずにメールを開けてリンクに飛んで登録を確定させましょう.

アリババクラウド量子コンピュータの操作画面

登録が完了したら登録したユーザ名とパスワードでログイン画面からログインします.

ログイン後にExperimentタブを選ぶことで,量子コンピュータの操作画面へ移ります.

最初にアクセスした際にExperimentを作成するようにボックスが出てきます.

f:id:kadora:20181212204622p:plain:w500

Experimentとはアリババクラウド上での量子回路を管理する単位になっていて,Experiment1つにつき1つの量子回路を保存しておくことが出来ます.

その量子回路を実際の量子コンピュータ上で動かすか,シミュレータ上で動かすかもここで決めることが出来ます.

適当な名前でExperimentを作成するといよいよ量子回路を組むことが出来る画面になります.

f:id:kadora:20181212205246p:plain:w600

左の方に使用出来るゲートが一覧になっているので,そのゲートを右側にドラッグアンドドロップして回路を作成していきます.

アリババクラウド量子コンピュータの実機は11量子ビットからなっているので,11個の量子ビットが右側の回路には用意されています.

使用できるゲート

実機とシミュレータとで使用できるゲートに差がありますが,ここではとりあえず実機の場合に使用できるゲートを取り上げていきます.

1量子ビットに作用するゲートとしては,基本となるパウリゲートのX, Y, Zゲートがあります. また,それ以外にも1ビットに作用するゲートとしては基本的なアダマールゲートやS, Tゲート,さらにS, Tゲートの逆の作用をするゲートもあります. 回転ゲートであるRx, Ry, Rzゲートもあり,これらのゲートは設置時に回転の角度も設定することが出来ます. ちょっと特殊なゲートとしては,RxとRyを組み合わせたRxyゲートや,X, Yゲートの半分だけの回転をするゲートなどがあります.

2量子ビットに作用するゲートとしてはCZ(制御Z)ゲートのみがあります. 少し量子計算に詳しい人なら気付いたかもしれませんが,アリババクラウド量子コンピュータにはCNOTゲートが存在しない(少なくとも一般ユーザが使用できるようには提供されていない)ため,ユニバーサルゲートセットが提供されていないということになります. したがって,この量子コンピュータでは実行することが出来ない量子計算が存在するということになります.

(追記)指摘を受けて気づきましたが,CZゲートとHゲートを組み合わせることでCNOTゲートは実現できました.

f:id:kadora:20181216101518p:plain:w400

なので問題なくアリババクラウド量子コンピュータでも万能量子計算ができます.ご指摘いただきありがとうございました.

量子コンピュータで計算を行う

万能量子計算は出来ませんが,とりあえずは量子コンピュータを動かしてみましょう.

右側に実行したい量子回路を作成して,Runを押します.

f:id:kadora:20181212211240p:plain:w500

Runを押すと,実行を繰り返す回数を聞かれるので実行したい回数を入力します(入力しなくてもデフォルト値で実行されます).

回数の入力を終えると,以下のように実行待ちの状態となります.

f:id:kadora:20181212211455p:plain:w600

実行が完了すると以下のように結果を見ることが出来ます.

f:id:kadora:20181212211604p:plain:w600

今回は1量子ビットにRyゲートをパラメータ45で作用させたものを9000回実行した結果になっています. 結果からなんとなくそれっぽい角度で回転した量子ビットが測定されてそれっぽい確率で0と1が測定されている感じが分かります.

実行に時間がかかる?

実行待ちの状態になってから結果が返ってくるまでに結構時間がかかった(または全然返ってこない)人が多いのではないでしょうか.

どうもアリババクラウド量子コンピュータはまだあまり安定して可動してるとは言い難く,正常に動作している時間が少ないようです.

アリババクラウド量子コンピュータの現在の状態は,先程の量子回路を組む画面で左上のExperiment名の横にあるparametersのところから見ることが出来ます.parametersをクリックして出てくる画面の一番下にあるsystem statusの部分がそうです.

f:id:kadora:20181212212140p:plain:w400

ここのstatusの部分がOFFLINEやCALIBRATIONなどになっている時には実機が使える状態にはありません.ACTIVE状態になっている時にだけ実機が使える状態のようですが,安定していないのか私が使用している時には中々ACTIVE状態になっているタイミングがありませんでした.記事執筆時点(12/15)でLast Calibration Timeが12/6のままなので長期的なメンテナンス中なのかもしれません.

まとめ

アリババクラウド量子コンピュータを軽く触ってみましたが,軽く触った感じで以下のような利点と欠点がありそうでした.

利点

  • 11量子ビットが使用できるのでIBM Qより多くの量子ビットが使用できる
  • 利用するための登録は結構簡単
  • UIの見た目がいい?(個人差あり)

欠点

  • 安定稼働してないのか使える時間が少ない(結果が返るのに時間がかかる)
  • CNOTゲートが使えないため万能量子計算ができない

特にCNOTゲートが使えないため,多くの量子アルゴリズムも実行出来ないというのが痛いかなと個人的には思いました. まだ出来ることは少ないという印象でしたが,11量子ビット使えるというのは結構な魅力だと思うので今後どのようになっていくのかは注目していきたいですね.