IP Library Granted Patent US 11,704,586
Granted Patent B2
US 11,704,586 · App. 17/739,411 · Granted Jul 18, 2023

Systems and methods for analog processing of problem graphs having arbitrary size and/or connectivity

Inventors: Murray C. Thom (Vancouver, CA); Aidan P. Roy (Surrey, CA); Fabian A. Chudak (Vancouver, CA); Zhengbing Bian (Burnaby, CA); William G. Macready (West Vancouver, CA); Robert B. Israel (Richmond, CA); Kelly T. R. Boothby (Vancouver, CA); Sheir Yarkoni (Vancouver, CA); Yanbo Xue (Toronto, CA); Dmytro Korenkevych (Burnaby, CA)
Assignee: D-WAVE SYSTEMS INC.
G06N10/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,704,586
App. No.
17/739,411
Granted
Jul 18, 2023
Kind
B2
Abstract

Computational systems implement problem solving using hybrid digital/quantum computing approaches. A problem may be represented as a problem graph which is larger and/or has higher connectivity than a working and/or hardware graph of a quantum processor. A quantum processor may be used determine approximate solutions, which solutions are provided as initial states to one or more digital processors which may implement classical post-processing to generate improved solutions. Techniques for solving problems on extended, more-connected, and/or “virtual full yield” variations of the processor's actual working and/or hardware graphs are provided. A method of operation in a computational system comprising a quantum processor includes partitioning a problem graph into sub-problem graphs, and embedding a sub-problem graph onto the working graph of the quantum processor. The quantum processor and a non-quantum processor-based device generate partial samples. A controller causes a processing operation on the partial samples to generate complete samples.

Claims (33)

1. A method of operation in a computational system, the computational system comprising a quantum processor comprising a plurality of qubits and one or more coupling devices arranged to form a working graph for embedding a problem graph, the computational system further comprising at least one non-quantum processor-based device, the method comprising:

receiving a plurality of problems, each problem representable as a problem graph having a number of decision variables;

selecting, from the plurality of problems, a first problem based on one of more properties of the first problem;

selecting, from the plurality of problems, a second problem based on at least one of the one or more properties of the first problem and one or more properties of the second problem;

determining, for each of the first and the second problems, a placement of the problem graph representing the problem in a placement graph;

determining an executable representation of the placement graph together with the placements of the first and the second problems, the representation executable by the quantum processor in one or more executions;

providing the executable representation to the quantum processor for execution;

receiving, from the quantum processor, an output based on at least one execution of the executable representation by the quantum processor; and

generating a first solution to the first problem and a second solution to the second problem by disaggregating representations of the first and the second solutions from the output.

2. The method of claim 1 further comprising determining, for each of the plurality of problems, the problem graph for the problem, the problem graph comprising a sub-graph representing the problem in the placement graph and wherein, for each of the first and the second problems, determining a placement of the problem graph comprises determining a placement of the sub-graph in the placement graph.

3. The method of claim 1 wherein selecting the second problem comprises generating a plurality of clusters of problems based on the one or more properties for each of the plurality of problems, selecting a cluster based on the one or more properties of the cluster's constituent problems, and selecting one or more of the cluster's constituent problems based on the one or more properties of at least one of the cluster's constituent problems.

4. The method of claim 1 wherein, for at least one of the first and the second problems, the one or more properties of the problem are selected from the group consisting of: a size of the problem, a temperature at which the problem is to be executed, a number of samples to be obtained from the problem, an annealing schedule of the problem, a position of the problem in a queue, and a priority of the problem.

5. The method of claim 1 wherein selecting the second problem comprises selecting a smallest problem from at least a subset of the plurality of problems.

6. The method of claim 1 further comprising iteratively selecting one or more further problems from at least a subset of the plurality of problems and determining a placement for each of the one or more further problems in the placement graph until at least one of: no more of the one or more further problems are placeable in the placement graph without removing an already-placed problem from the placement graph or placements have been determined for each problem in the at least a subset of problems.

7. The method of claim 6 wherein determining the placement of at least one of the one or more further problems comprises moving the placement of a previously-placed problem from a first region to a second region in the placement graph, wherein the placement of the at least one of the one or more further problems comprises at least part of the first region.

8. The method of claim 1 wherein generating the first and the second solutions comprises:

dividing the output into a plurality of subgraphs, each subgraph corresponding to at least one of the plurality of problems and based on the placement of the corresponding problem's problem graph in the placement graph; and

associating, for each problem graph, one or more output values of one or more of the plurality of qubits in a corresponding subgraph of the respective the problem graph with one or more vertices in the problem graph.

9. The method of claim 1 wherein the second problem is a variation of the first problem.

10. The method of claim 9 wherein the variation comprises a spin reversal transformation.

11. The method of claim 7 further comprising receiving a plurality of data values and a machine learning model, wherein the first problem comprises a first instantiation of the machine learning model with a first one of the plurality of data values and the second problem comprises a second instantiation of the machine learning model with a second one of the plurality of data values.

12. A computational system, comprising:

at least one quantum processor comprising a plurality of qubits and one or more coupling devices arranged to form a working graph for embedding a problem graph;

at least one non-quantum post-processing processor-based device;

at least one processor-based controller communicatively coupled to the at least one quantum processor and the at least one non-quantum post-processing processor-based device, in operation the at least one processor-based controller:

receives a plurality of problems, each problem representable as a problem graph having a number of decision variables;

selects, from the plurality of problems, a first problem based on one of more properties of the first problem;

selects, from the plurality of problems, a second problem based on at least one of the one or more properties of the first problem and one or more properties of the second problem;

determines, for each of the first and the second problems, a placement of the problem graph representing the problem in a placement graph;

determines an executable representation of the placement graph together with the placements of the first and the second problems, the representation executable by the quantum processor in one or more executions;

provides the executable representation to the quantum processor for execution;

receives, from the quantum processor, an output based on at least one execution of the executable representation by the quantum processor; and

generates a first solution to the first problem and a second solution to the second problem by disaggregating representations of the first and the second solutions from the output.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Mar 11, 2025
From: PSPIB UNITAS INVESTMENTS II INC.
To: D-WAVE SYSTEMS INC.; 1372934 B.C. LTD.
Reel/Frame 070470/0098 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 30, 2023
From: THOM, MURRAY C.; ROY, AIDAN P.; CHUDAK, FABIAN A.; BIAN, ZHENGBING; MACREADY, WILLIAM G.; ISRAEL, ROBERT B.; BOOTHBY, KELLY T.R.; YARKONI, SHEIR; XUE, YANBO; KORENKEVYCH, DMYTRO
To: D-WAVE SYSTEMS INC.
Reel/Frame 063799/0177 →
CHANGE OF NAME Recorded May 30, 2023
From: DWSI HOLDINGS INC.
To: D-WAVE SYSTEMS INC.
Reel/Frame 063799/0275 →
CONTINUATION Recorded May 30, 2023
From: D-WAVE SYSTEMS INC.
To: D-WAVE SYSTEMS INC.
Reel/Frame 063803/0337 →
MERGER Recorded May 30, 2023
From: D-WAVE SYSTEMS INC.; DWSI HOLDINGS INC.
To: DWSI HOLDINGS INC.
Reel/Frame 063803/0802 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Apr 14, 2023
From: D-WAVE SYSTEMS INC.; 1372934 B.C. LTD.
To: PSPIB UNITAS INVESTMENTS II INC., AS COLLATERAL AGENT
Reel/Frame 063340/0888 →
Continuity (5)
Continuation 16778295 · Jan 31, 2020
Continuation 15448361 · Mar 2, 2017
Provisional Application 62375785 · Aug 16, 2016
Provisional Application 62302544 · Mar 2, 2016
Related Publication 20220335320A1 · Oct 20, 2022
Cited By (1)
US 12,718,975