With the new Advantage™ QPU, it is possible to do a number of things that are not possible on the D‑Wave 2000Q™ system!
Advantage has more than twice as much connectivity between its qubits.
This means that it's possible to embed the same problem on the Advantage system as the D-Wave 2000Q system, 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 the Advantage system is run a triangular shaped graph on the QPU without needing embedding!
This is not the case on the D-Wave 2000Q system.
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 the Advantage system.
Comments
Please sign in to leave a comment.