common.title

TYTAN CLOUD

QUANTUM GAMING

Nobisuke

Dekisugi


autoQAOA
RAG for dev
DEEPSCORE

Overview
Service overview
Terms of service

Privacy policy

Contact
Research

Sign in
Sign up
common.title

2022年令和最新版!pyquboからblueqat cloud経由でD-WaveにQUBOを投げる。

Yuichiro Minato

2022/10/03 10:53

最近blueqat cloudを使ってアニーリングを実行している人が増えたので、使い方を見てみます。実機のD-Waveに投げるにはQUBOマトリックスを投げます。

!pip install blueqat-cloud

APIキーを登録していない人は先に登録してください。blueqat.comに登録し、設定からとれます。

import bqcloud api = bqcloud.register_api("Your API key here")

登録している人はこちらから

import bqcloud api = bqcloud.load_api() api.annealing([[-1, 0], [0, 0.5]], 5, 10)
AnnealingResult(task={'id': 'a4038946-7ce3-4a10-9697-c1a1f8b7237f', 'user_id': 'f9c2af20-b38b-4b4e-943c-07e66ab03de1', 'qubo': '{{-1,0},{0,0.5}}', 'chain_strength': 5, 'num_reads': 10, 'ip': '18.116.44.12', 'created_at': '2022-10-03T10:24:03.327581+00:00', 'updated_at': '2022-10-03T10:24:03.327581+00:00', 'device_name': 'd-wave/Advantage_system4', 'dataframe': '{"0":{"0":1},"1":{"0":0},"chain_break_fraction":{"0":0.0},"energy":{"0":-1.0},"num_occurrences":{"0":10}}'})

こんな感じです。簡単にできました。QUBO行列、chain break、試行回数の順番です。

ちょっと投げる行列はpyquboやd-waveではあまり見ない形ですので、変換を見てみます。

!pip install pyqubo
import dimod from pyqubo import Array x = Array.create('x', shape=(5), vartype='BINARY') #適当に作ります。 qubo = x[0]*x[1] model = qubo.compile() bqm = model.to_bqm()

BQMのモデルを行列形式にします。

qubo_matrix = bqm.to_numpy_matrix(variable_order=['x[0]', 'x[1]']).tolist()
/tmp/ipykernel_123/4108795986.py:1: DeprecationWarning: bqm.to_numpy_matrix() is deprecated since dimod 0.10.0

  qubo_matrix = bqm.to_numpy_matrix(variable_order=['x[0]', 'x[1]']).tolist()

不穏なエラーが出てますが、、、気にせず続けます。最後にこれを先ほどのように投入して完了です。

result = api.annealing(qubo_matrix, 5, 10)

計算結果をDataframeで取り出してみてみます。

import pandas as pd df = pd.read_json(result.task["dataframe"]) df
   0  1  chain_break_fraction  energy  num_occurrences

0  0  1                     0       0                2

1  0  0                     0       0                4

2  1  0                     0       0                4

いい感じに仕上がりました。

© 2025, blueqat Inc. All rights reserved