What problems can I run on Advantage that I can't run on the D-Wave 2000Q?

With the new Advantage QPU, it is possible to do a number of things that are not possible on the D-Wave 2000Q!

Advantage has more than twice as much connectivity between its qubits.
This means that it's possible to embed the same problem on Advantage as the D-Wave 2000Q, but with fewer chains.
Combined with the Advantage chip having more than twice as many qubits, this make it possible to embed much larger problems.
From these two points, we can also see that a larger max clique can be embedded on the new QPU.

Let's take a look at a quick code example!
We can make a problem with 3000 qubits and run it on the Advantage QPU.

import minorminer
from dwave.system import DWaveSampler, FixedEmbeddingComposite
import dimod
import networkx as nx

solver = DWaveSampler(solver='Advantage_system1.1')
solver_graph = solver.to_networkx_graph()
target_graph = nx.random_regular_graph(3, 400)
emb = minorminer.find_embedding(target_graph, solver_graph)
sampler = FixedEmbeddingComposite(solver, embedding=emb)
bqm = dimod.generators.random.ran_r(1, target_graph)
sampleset = sampler.sample(bqm)
print(sampleset)

Another thing we can do on Advantage is run a triangular shaped graph on the QPU without needing embedding!
This is not the case on the D-Wave 2000Q.
Let's take a look at a code example with a triangle:

import minorminer
from dwave.system import DWaveSampler, FixedEmbeddingComposite, EmbeddingComposite
import dimod
import networkx as nx

solver = DWaveSampler(solver='Advantage_system1.1')
solver_graph = solver.to_networkx_graph()
Q={(0,1):1,(1,2):1,(0,2):1}
emb = minorminer.find_embedding(Q, solver_graph)
sampler = FixedEmbeddingComposite(solver, embedding=emb)
sampleset = sampler.sample_qubo(Q)
print(sampleset)

If we output the embedding with print(emb) we see that there is only one qubit on the QPU used for every qubit in the problem triangle:

>>> print(emb)
{0: [5629], 1: [5614], 2: [989]}

Lastly, let's look at a large clique.
This example will embed a fully-connected 100 node graph:

from minorminer import busclique
from dwave.system import DWaveSampler, FixedEmbeddingComposite
import dimod
import networkx as nx

solver = DWaveSampler(solver='Advantage_system1.1')
target_graph = solver.to_networkx_graph()
emb = busclique.find_clique_embedding(100, target_graph)
sampler = FixedEmbeddingComposite(solver, embedding=emb)
bqm = dimod.generators.random.ran_r(1, nx.complete_graph(100))
sampleset = sampler.sample(bqm)
print(sampleset)

We hope this helps you develop problems for Advantage.

Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request

Comments

0 comments

Please sign in to leave a comment.