Patent ID: 12260341

Like reference numbers and designations in the various drawings indicate like elements.

DETAILED DESCRIPTION

This specification described a method for using a hybrid quantum-classical information processor for solving optimization and inference problems. The method utilizes simultaneous advantages of both quantum and classical fluctuations, optionally together with collective spin updates, in a generalized quantum-classical annealing algorithm. At a core of the approach is the development of a non-trivial quantum-assisted meta-heuristic algorithm. In the proposed algorithm quantum and classical machines exchange information in an algorithmic fashion during an entire computation. For example, interactions of a quantum and classical chip are fundamentally constructed from an algorithmic perspective.

FIG.1Ais a flowchart of an example process100for performing quantum assisted optimization. The process100combines two complementary classical and quantum algorithms for optimization under a unified algorithm such that all algorithmic subroutine advantages may be combined and their individual shortcomings avoided. For convenience, the process100will be described as being performed by a system of one or more classical or quantum computing devices located in one or more locations.

The system obtains an initial input state of a quantum system (step102). The quantum system may be associated with a corresponding non-convex energy landscape including multiple energy barriers. In some implementations the initial input state of the quantum system is a state of the quantum system whose ground state encodes the solution to an optimization task, e.g., a binary combinatorial optimization problem.

Optionally, the system may represent the quantum system as a graph and partition the graph into one or more local regions according to the optimization task. For example, the system may represent the quantum system as a connected graph where graph nodes represent qubits and graph edges represent interactions between qubits. The system may be associated with a configuration space, i.e. the space of all possible configurations where a configuration is specified by the positions of all the components parts. The system may incorporate efficient graph preprocessing steps in the process100by dividing optimization tasks into local regions of the graph in which corresponding quantum or classical mechanical cluster updates can be beneficial, i.e., allowing for quantum fluctuations to be invoked on certain finite regions of the configuration space of the quantum system at any given temperature when parallel tempering and cluster move algorithms (as described below with reference to step104) are inefficient in creating desired tunneling through certain barriers, e.g., tall and thin barriers, in the energy landscape.

The system performs quantum annealing and one or more of (i) parallel tempering, or (ii) a cluster update algorithm, on a sequence of input states. Quantum annealing is performed with dynamic quantum fluctuations, e.g., increasing and decreasing quantum fluctuations (step104). The system performs quantum annealing and one or more of (i) parallel tempering, or (ii) a cluster update algorithm until a completion of a first event.

In some implementations the system may iteratively perform quantum annealing and one or more of (i) parallel tempering, or (ii) a cluster update algorithm, on a sequence of input states. For example, in one iteration the system may perform one or more of (i) parallel tempering, or (ii) a cluster update algorithm on an input state to generate a classically evolved state, perform quantum annealing on the classically evolved state to generate a quantum evolved state, and provide the quantum evolved state as input to a next iteration.

The process of performing quantum annealing and one or more of (i) parallel tempering, or (ii) a cluster update algorithm, on a sequence of input states until a completion of a first event is an ergodic process. By incorporating classical parallel tempering into the process ergodicity may be guaranteed, even in cases where the quantum annealing subroutine itself is not ergodic, e.g., due to many-body localization effects in strongly disordered problem classes. Parallel tempering, e.g., with quantum fluctuation strength Γ=0, can guarantee ergodicity for both classical and quantum clustering updates that are complementary and individually are non-ergodic.

Performing parallel tempering on the sequence of input states may include performing parallel tempering on a first input state and subsequent input states to overcome one or more energy barrier until an energy barrier that cannot be overcome by parallel tempering is encountered and terminating parallel tempering on the initial input state and subsequent input states in response to determining that the energy barrier cannot be overcome by parallel tempering. Parallel tempering is a generalization of simulated annealing, and uses thermal fluctuations to escape from local minima that are separated by shallow barriers in the energy landscape. The theory of parallel tempering and its application are described in more detail in “Parallel Tempering: Theory, Applications, and New Perspectives” David J. Earl and Michael W. Deem, http://arxiv.org/pdf/physics/0508111.pdf, disclosure of which is incorporated herein by reference.

In some implementations performing parallel tempering on a sequence of input states includes generating a plurality of replicas of the initial input state of the quantum system, and for each of a set of different temperatures, evolving one or more of the replicas of the initial input state of the quantum system. Performing parallel tempering may then include exchanging pairs of evolved replicas at different temperatures according to Metropolis criterion to overcome one or more energy barriers. In some implementations evolving one or more replicas of the initial input state of the quantum system is performed in parallel using multiple copies of the initial input state and quantum system. In other implementations evolving one or more replicas of the initial input state of the quantum system is performed sequentially for each replica of the initial input state of the quantum system in turn. Performing parallel tempering is illustrated as described in more detail below with reference toFIG.3.

Optionally, the system may perform a cluster update algorithm on the sequence of input states including performing a cluster update algorithm on the sequence of input states to overcome an energy barrier that cannot be overcome by parallel tempering. In some implementations the cluster update algorithm includes a Houdayer cluster move algorithm. The cluster update algorithm may handle parallel tempering shortcomings by allowing for multiple spin updates at once, thus overcoming barriers in the energy landscape that parallel tempering may not overcome, e.g., tall barriers with large Hamming distances. The system may introduce Houdayer cluster moves between replicas at a given temperature T with Γ=0. Houdayer cluster moves are described in more detail in “A Cluster Monte Carlo Algorithm for2-Dimensional Spin Glasses” J. Houdayer, http://arxiv.org/pdf/cond-mat/0101116.pdf, the disclosure of which is incorporated herein by reference.

In some implementations parallel tempering and the cluster update algorithm are performed in parallel.

Performing quantum annealing on the sequence of input states may include determining that an energy barrier that cannot be overcome by the cluster update algorithm is encountered, and in response to determining that an energy barrier that cannot be overcome by the cluster update algorithm is encountered, performing quantum annealing on the sequence of input states to overcome the energy barrier that cannot be overcome by the cluster update algorithm. Quantum annealing may be performed in a non-sequential manner similar in nature to parallel tempering that has temperature as a dynamic variable. Quantum annealing may improve over parallel tempering or cluster move updates by allowing for isothermal tunneling through tall and thin energy barriers at any fixed temperature, even in cases where the system is above a predetermined system percolation threshold.

As described above with reference to step102, in some implementations the initial input state of the quantum system is a state of the quantum system whose ground state encodes the solution to an optimization task, and the system may represent the quantum system as a graph and partition the graph into one or more local regions according to the optimization task. In such cases, performing quantum annealing on the sequence of input states may include determining that (i) parallel tempering and (ii) the cluster update algorithm are failing to overcome one or more energy barrier in the energy landscape at a given temperature and, in response to the determining, applying quantum fluctuations on one or more of the local regions at the given temperature. By applying quantum fluctuations on only certain regions of the configuration space of the system, different quantum replicas operating in different F can invoke quantum fluctuations on different finite-size regions of the configuration space that are locally possible to embed with existing quantum hardware and can still benefit from finite range quantum co-tunneling.

The system determines that the completion of the first event has occurred (step106). As described above with reference to step102, in some implementations the initial input of the quantum system is a state of the quantum system whose ground state encodes the solution to an optimization task. In these cases, the system may determine that the completion of the first event has occurred by performing a measurement on a final state in the sequence of input states to determine the solution to the optimization task.

In some implementations the system determines that the completion of the first event has occurred by determining that a final state in the sequence of input states adequately approximates a ground state of the quantum system. In some implementations a final state may adequately approximate a ground state of the quantum system after performing quantum annealing and one or more of (i) parallel tempering, or (ii) a cluster update algorithm, on the sequence of input states in polynomial time.

FIG.1Bis a flowchart of an example process150for performing quantum assisted optimization. The process150combines two complementary classical and quantum algorithms for optimization under a unified algorithm such that all algorithmic subroutine advantages may be combined and their individual shortcomings avoided. For convenience, the process150will be described as being performed by a system of one or more classical or quantum computing devices located in one or more locations.

The system obtains a set of initial input states (step152). The system may obtain the set of initial input states to initialize a set of quantum systems from an output of a set of classical information processing units. The system may return the outputs of the quantum systems as inputs to the classical processors.

The system applies any combination of (i) dynamical thermal fluctuations and/or (ii) cluster update algorithms to the set of input states and subsequent input states when the states evolve within classical information processors (step154).

In some implementations the dynamical classical fluctuations include tempered transitions, such as a parallel tempering algorithm. In further implementations the dynamical classical fluctuations include weighted dynamical tempered transitions, such as annealing importance sampling. In some implementations the cluster update algorithms create non-local state transformation in parameter space in various different temperatures. In other examples the cluster update algorithms create non-local isothermal state transformation in parameter space, such as Houdayers cluster move algorithm.

The system applies dynamical quantum fluctuations to the set of input states and subsequent input states when the states evolve within quantum systems (step156).

In some implementations dynamic quantum fluctuations include increasing and decreasing zero-temperature quantum fluctuations via applying driven fields. In further implementations dynamic quantum fluctuations include increasing and decreasing finite-temperature dissipative quantum fluctuations via applying driven fields.

The system repeats the application steps154and156until a desirable output state is obtained. In some implementations convergence to a final desired state is achieved via feed forward steps in a highly parallelizable set of classical and quantum processors. In further implementations convergence to a final desired state is iterative with feedback loops on a same set of quantum and/or classical processors.

FIG.2is a flowchart of an example process200for performing quantum assisted annealing using parallel tempering and Houdayer clustering. For convenience, the process200will be described as being performed by a system of one or more classical or quantum computing devices located in one or more locations.

The system generates a plurality of replicas of an initial input state of the quantum system (202).

The system performs a first predetermined number of Metropolis updates for each replica at a given temperature (step204). For example, in cases where the quantum system includes a spin system, the system may perform a predetermined number of one-spin flip moves.

The system grows a second predetermined number of Houdayer replicas (step206).

The system determines whether a percolation threshold for an energy landscape associated with the quantum system is above or below a predetermined threshold, e.g., 0.5 (step208).

In response to determining that the percolation threshold for the energy landscape associated with the quantum system is above the predetermined threshold, the system performs one or more Houdayer cluster moves on the replicas for temperatures less than a predetermined temperature value (step210).

In response to determining that the percolation threshold for the energy landscape associated with the quantum system is below the predetermined threshold, the system performs one or more Houdayer cluster moves on the replicas for all temperatures (step212).

The system performs quantum annealing for each replica at any temperature, comprising phasing in and out quantum fluctuations (step214).

The system performs parallel tempering Metropolis updates for a pair of neighboring temperatures (step216).

FIG.3is an example illustration300of a quantum processor for performing quantum assisted optimization as described above with reference toFIGS.1A,1B and2. The example quantum processor is an example of a system implemented as classical or quantum computer programs on one or more classical computers or quantum computing devices in one or more locations, in which the systems, components, and techniques described above can be implemented.

The example quantum processor can be constructed from superconducting components including stacks of two-dimensional arrays of qubits302, e.g., fluxmon qubits. The architecture illustrated inFIG.3may have the capacity of embedding a class of tasks that may be graphically represented as graphs with large tree widths, small radii, and high conductance. In order to reduce the heat dissipation, superconducting components may be used for all classical operations, e.g., parallel tempering or cluster updates, as well as quantum operations. All quantum and classical logical gates may therefore exist in the same sub-Kelvin temperatures. In the above, for convenience, it is assumed that classical processors may be digital and may operate near room temperature.

The quantum processor illustrated inFIG.3includes a three dimensional array of replicas304. A replica in a possible coordinate [h(s), T(s), c(s)] is related to a particular setting of quantum, h(s), aid thermal fluctuations, T(s), and cluster moves c(s) where s is parameter that labels a particular instance of the processor and can be considered as time if the algorithm is realized on a single processor—otherwise s labels one replica in an ensemble of processors running in parallel. In other words, each replica can be the same processor in a different time or alternatively each replica can be implemented by separate classical or quantum processors. The plane x=0 includes classical replicas. A Metropolis update algorithm governs the state transformation of each replica.

The variation in the x-axes310demonstrates various degrees of quantum fluctuations Γ, the variation in the y-axes312labels different degrees of thermal fluctuations T, and the variation in the z axes314labels particular cluster updates according to Houdayer moves. To grow clusters according to a Houdayer algorithm, as described above with reference toFIG.2, the system may multiply the values of two neighboring columns in z and swap them if the percolation threshold for that particular temperature is not above a predetermined threshold.

The updates in each column are governed by parallel tempering, where in each cycle N runs of Metropolis updates306are performed and the lowest energy configuration is registered. At the end of each cycle the states of two neighboring cells may be globally swapped. Gradually it may be expected that the lowest cells for each possible h sample from the lowest energy states, e.g.,308. However, it is to be noted that the state of the lowest replica is not necessarily in the ground state.

In x direction310, various strengths of the transverse field can set up the level of quantum fluctuations. For any nonzero x, the replicas in the y direction312are operating at different temperatures and their states may be swapped according to parallel tempering updates. For any x and y various clusters may be grown by multiplying the corresponding values and grow clusters of positive and negative parity—provided that the particular operating temperature is below the predetermined percolation threshold. Otherwise, swapping the column in the z direction314may not produce any useful new states.

In some implementations it may be desirable to obtain a high quality solution from replicas that are near x=0 and y=0 after a polynomial number of cycles each involving a polynomial run of Metropolis updates306. In other words, it may be expected that a good approximation to the ground state may be obtained after quantum and classical fluctuations are phased out in a polynomial time.

FIG.4Adepicts an example annealing system400for performing quantum assisted optimization. The example system400is an example of a system implemented as classical or quantum computer programs on one or more classical computers or quantum computing devices in one or more locations, in which the systems, components, and techniques described below can be implemented.

The annealing system400may be configured to repeatedly apply any combination of (i) dynamical thermal fluctuations and/or (ii) cluster update algorithms and apply dynamical quantum fluctuations. The annealing system400may include a quantum system402that interacts with an auxiliary quantum system404. The auxiliary quantum system404may act as a controllable thermal bath for the quantum system402. The quantum system402may include one or more interacting quantum subsystems, e.g., one or more interacting qubits. The one or more quantum subsystems included in the quantum system402may include superconducting qubits. In some implementations the quantum system402may be an open quantum system.

The auxiliary quantum system404may include a set of lossy resonators, transmission lines, array of qubits, or meta-materials. In some implementations the auxiliary quantum system404may be an open quantum system that interacts with an environment that is external to the quantum system402and the auxiliary quantum system404. In other implementations the auxiliary quantum system404may be a closed quantum system that does not interact with an external environment.

The quantum system422may interact with the auxiliary quantum system404through one or more couplings, e.g., coupling406. The coupling of the auxiliary quantum system404to the quantum system402may enable the auxiliary quantum system to interact with the quantum system such that fluctuations of the auxiliary system404may affect the dynamics of the quantum system402. As an example, the auxiliary quantum system404may include one or more multi-mode resonators, and the quantum system402may include one or more qubits that are either respectively coupled to a respective multi-mode resonator, or collectively coupled to a single multi-mode resonator. In some implementations the auxiliary quantum system404may include a continuous mode of resonators (also known as microwave metamaterial).

The one or more couplings406may be controllable couplings. The controllability of the couplings depends on the particular physical realization of the qubits that are coupled, e.g., two-level atoms, electron spins, or superconducting qubits. For example, in the case of electron spins, the couplings between spin qubits may be controlled via applying external electromagnetic fields, where the external electromagnetic fields in turn are controllable by adjusting the parameters of the machines used to apply the electromagnetic field, such as the wavelength and amplitude of the electromagnetic field. In the case of superconducting qubits, the interaction between the qubits may be controlled through adjusting the current bias, for example by adjusting current bias pulses with controlled amplitude and duration.

FIG.4Bdepicts an example annealing system420for performing quantum assisted optimization. The example system420is an example of a system implemented as classical or quantum computer programs on one or more classical computers or quantum computing devices in one or more locations, in which the systems, components, and techniques described below can be implemented.

The annealing system420may be configured to repeatedly apply any combination of (i) dynamical thermal fluctuations and/or (ii) cluster update algorithms, and dynamical quantum fluctuations.

The annealing system420may include a quantum integrated circuit (chip)422in communication with a classical integrated circuit (chip)424. The quantum integrated circuit422may be configured to apply dynamical quantum fluctuations annealing on a set of input states, and communicate with the classical integrated circuit424that may be configured to apply any combination of (i) dynamical thermal fluctuations and/or (ii) cluster update algorithms through one or more couplings426.

Implementations of the digital and/or quantum subject matter and the digital functional operations and quantum operations described in this specification can be implemented in digital electronic circuitry, suitable quantum circuitry or, more generally, quantum computational systems, in tangibly-embodied digital and/or quantum computer software or firmware, in digital and/or quantum computer hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. The term “quantum computational systems” may include, but is not limited to, quantum computers, quantum information processing systems, quantum cryptography systems, or quantum simulators.

Implementations of the digital and/or quantum subject matter described in this specification can be implemented as one or more digital and/or quantum computer programs, i.e., one or more modules of digital and/or quantum computer program instructions encoded on a tangible non-transitory storage medium for execution by, or to control the operation of, data processing apparatus. The digital and/or quantum computer storage medium can be a machine-readable storage device, a machine-readable storage substrate, a random or serial access memory device, one or more qubits, or a combination of one or more of them. Alternatively or in addition, the program instructions can be encoded on an artificially-generated propagated signal that is capable of encoding digital and/or quantum information, e.g., a machine-generated electrical, optical, or electromagnetic signal, that is generated to encode digital and/or quantum information for transmission to suitable receiver apparatus for execution by a data processing apparatus.

The terms quantum information and quantum data refer to information or data that is carried by, held or stored in quantum systems, where the smallest non-trivial system is a qubit, i.e., a system that defines the unit of quantum information. It is understood that the term “qubit” encompasses all quantum systems that may be suitably approximated as a two-level system in the corresponding context. Such quantum systems may include multi-level systems, e.g., with two or more levels. By way of example, such systems can include atoms, electrons, photons, ions or superconducting qubits. In many implementations the computational basis states are identified with the ground and first excited states, however it is understood that other setups where the computational states are identified with higher level excited states are possible. The term “data processing apparatus” refers to digital and/or quantum data processing hardware and encompasses all kinds of apparatus, devices, and machines for processing digital and/or quantum data, including by way of example a programmable digital processor, a programmable quantum processor, a digital computer, a quantum computer, multiple digital and quantum processors or computers, and combinations thereof. The apparatus can also be, or further include, special purpose logic circuitry, e.g., an FPGA (field programmable gate array), an ASIC (application-specific integrated circuit), or a quantum simulator, i.e., a quantum data processing apparatus that is designed to simulate or produce information about a specific quantum system. In particular, a quantum simulator is a special purpose quantum computer that does not have the capability to perform universal quantum computation. The apparatus can optionally include, in addition to hardware, code that creates an execution environment for digital and/or quantum computer programs, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.

A digital computer program, which may also be referred to or described as a program, software, a software application, a module, a software module, a script, or code, can be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a digital computing environment. A quantum computer program, which may also be referred to or described as a program, software, a software application, a module, a software module, a script, or code, can be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages, and translated into a suitable quantum programming language, or can be written in a quantum programming language, e.g., QCL or Quipper.

A digital and/or quantum computer program may, but need not, correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data, e.g., one or more scripts stored in a markup language document, in a single file dedicated to the program in question, or in multiple coordinated files, e.g., files that store one or more modules, sub-programs, or portions of code. A digital and/or quantum computer program can be deployed to be executed on one digital or one quantum computer or on multiple digital and/or quantum computers that are located at one site or distributed across multiple sites and interconnected by a digital and/or quantum data communication network. A quantum data communication network is understood to be a network that may transmit quantum data using quantum systems, e.g. qubits. Generally, a digital data communication network cannot transmit quantum data, however a quantum data communication network may transmit both quantum data and digital data.

The processes and logic flows described in this specification can be performed by one or more programmable digital and/or quantum computers, operating with one or more digital and/or quantum processors, as appropriate, executing one or more digital and/or quantum computer programs to perform functions by operating on input digital and quantum data and generating output. The processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA or an ASIC, or a quantum simulator, or by a combination of special purpose logic circuitry or quantum simulators and one or more programmed digital and/or quantum computers.

For a system of one or more digital and/or quantum computers to be “configured to” perform particular operations or actions means that the system has installed on it software, firmware, hardware, or a combination of them that in operation cause the system to perform the operations or actions. For one or more digital and/or quantum computer programs to be configured to perform particular operations or actions means that the one or more programs include instructions that, when executed by digital and/or quantum data processing apparatus, cause the apparatus to perform the operations or actions. A quantum computer may receive instructions from a digital computer that, when executed by the quantum computing apparatus, cause the apparatus to perform the operations or actions.

Digital and/or quantum computers suitable for the execution of a digital and/or quantum computer program can be based on general or special purpose digital and/or quantum processors or both, or any other kind of central digital and/or quantum processing unit. Generally, a central digital and/or quantum processing unit will receive instructions and digital and/or quantum data from a read-only memory, a random access memory, or quantum systems suitable for transmitting quantum data, e.g. photons, or combinations thereof.

The essential elements of a digital and/or quantum computer are a central processing unit for performing or executing instructions and one or more memory devices for storing instructions and digital and/or quantum data. The central processing unit and the memory can be supplemented by, or incorporated in, special purpose logic circuitry or quantum simulators. Generally, a digital and/or quantum computer will also include, or be operatively coupled to receive digital and/or quantum data from or transfer digital and/or quantum data to, or both, one or more mass storage devices for storing digital and/or quantum data, e.g., magnetic, magneto-optical disks, optical disks, or quantum systems suitable for storing quantum information. However, a digital and/or quantum computer need not have such devices.

Digital and/or quantum computer-readable media suitable for storing digital and/or quantum computer program instructions and digital and/or quantum data include all forms of non-volatile digital and/or quantum memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; CD-ROM and DVD-ROM disks; and quantum systems, e.g., trapped atoms or electrons. It is understood that quantum memories are devices that can store quantum data for a long time with high fidelity and efficiency, e.g., light-matter interfaces where light is used for transmission and matter for storing and preserving the quantum features of quantum data such as superposition or quantum coherence.

Control of the various systems described in this specification, or portions of them, can be implemented in a digital and/or quantum computer program product that includes instructions that are stored on one or more non-transitory machine-readable storage media, and that are executable on one or more digital and/or quantum processing devices. The systems described in this specification, or portions of them, can each be implemented as an apparatus, method, or system that may include one or more digital and/or quantum processing devices and memory to store executable instructions to perform the operations described in this specification.

While this specification contains many specific implementation details, these should not be construed as limitations on the scope of what may be claimed, but rather as descriptions of features that may be specific to particular implementations. Certain features that are described in this specification in the context of separate implementations can also be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation can also be implemented in multiple implementations separately or in any suitable sub-combination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a sub-combination or variation of a sub-combination.

Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system modules and components in the implementations described above should not be understood as requiring such separation in all implementations, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.

Particular implementations of the subject matter have been described. Other implementations are within the scope of the following claims. For example, the actions recited in the claims can be performed in a different order and still achieve desirable results. As one example, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some cases, multitasking and parallel processing may be advantageous.