common.title

Docs
Quantum Circuit
TYTAN CLOUD

QUANTUM GAMING

Nobisuke

Dekisugi


autoQAOA
DEEPSCORE

Overview
Service overview
Terms of service

Privacy policy

Contact
Research

Sign in
Sign up
common.title

D-WaveのKerberos

Yuichiro Minato

2021/01/03 03:43

#量子アニーリング

D-Waveのハイブリッド謎ツールがありますので、使ってみます。

Kerberosとは?

ケルベロス(古希: Κέρβερος, Kerberos, ラテン語: Cerberus)は、ギリシア神話に登場する犬の怪物。 ハーデースが支配する冥界の番犬である。 その名は「底無し穴の霊」を意味する。 ラテン語読みはケルベルス、英語読みはサーベラス。

ケルベロスは冥府の入り口を守護する番犬である。ヘーシオドスは『神統記』の中で、50の首を持ち、青銅の声で吠える恐るべき猛犬として描いているが[7]、普通は「三つの頭を持つ犬」というのがケルベロスの一般像であり[8]、文献によって多少の差異はあるが、主に3つ首で、竜の尾と蛇のたてがみを持つ巨大な犬や獅子の姿で描かれる。

https://ja.wikipedia.org/wiki/%E3%82%B1%E3%83%AB%E3%83%99%E3%83%AD%E3%82%B9

キメラやペガサスやケルベロスなど怪獣好きのD-Wave社ですが、今回は頭が3つある怪獣です。

機能は?

つまりサブ問題として、3つのサンプラーを同時に動かして、いい結果を取るというハイブリッドアルゴのようです。その3つは、

・タブーサーチ

・シミュレーテッドアニーリング

・QPU(量子アニーリング実機)

ということで、だんだんハイブリッドも複雑になってきました。。。

早速使ってみる

D-WaveのSDKのOceanを入れます。それから、

import dimod
import hybrid

response = hybrid.KerberosSampler().sample_ising({'a':-0.5,'b':1.0},{('a','b'):-1})

response.data_vectors['energy']

最初にツールを読み込んで、真ん中の行がサンプラーですね。通常の使い方と変わらず使うことができます。最後に結果を取り出すと、

array([-1.5])

と出ました。

一応英語の解説も貼っておきます。

Kerberos

Kerberos hybrid sampler runs 3 sampling branches in parallel. In each iteration, best results from tabu search and simulated annealing are combined with best results from QPU sampling a subproblem.

Kerberos(max_iter=100, max_time=None, convergence=3, energy_threshold=None, sa_reads=1, sa_sweeps=10000, tabu_timeout=500, qpu_reads=100, qpu_sampler=None, qpu_params=None, max_subproblem_size=50)

An opinionated hybrid asynchronous decomposition sampler for problems of arbitrary structure and size. Runs Tabu search, Simulated annealing and QPU subproblem sampling (for high energy impact problem variables) in parallel and returns the best samples.

あんまり細かい設定はできませんが、タブーサーチとSAとQPUのちょっとした調整はできそうです。とりあえずハイブリッドで使ってみたい人にはQbsolvなどと合わせてちょうどいいかもしれません。

簡単ですが、以上です。

© 2025, blueqat Inc. All rights reserved