The present disclosure relates to the general area of computational systems and methods, and relates more particularly to the mapping of reversible computational circuits onto vertex lattices, and to methods for reaching the ground state of such a system, which encodes the solution to the computational problem represented by the initial circuit.
This section is intended to provide a background or context. The description may include concepts that may be pursued, but have not necessarily been previously conceived or pursued. Unless indicated otherwise, what is described in this section is not deemed prior art to the description and claims and is not admitted to be prior art by inclusion in this section.
Approaches inspired by statistical physics have been used to solve hard problems in areas of computer science such as neural networks, machine learning, compressed sensing, satisfiability, and data mining, to name a few. One of the most important topics at the interface between physics and computer science is quantum computing, namely, the ability to perform large-scale universal computations by exploring and controlling quantum phenomena such as superposition and entanglement. However, despite recent progress in developing hardware for universal quantum computing, only systems with a very limited number of high-quality quantum bits have been built so far, and they are insufficient for any significant practical use.
The situation is better in regard to non-universal quantum machines where the quality of individual quantum bits is less critical. In this case, machines with over a thousand quantum bits are already commercially available. These machines are naturally designed to solve optimization problems, where by an appropriate preparation of the initial state and a suitable variation of fields, one drives the quantum bits toward a ground state that encodes the solution of the problem. In this process, known as quantum annealing, as fields are swept, one often encounters near-degenerate ground states that can steer the machine away from the desired solution. The only way of keeping the machine in the desired ground state is to sweep fields sufficiently slowly; yet, if the nearly-degenerate states are associated a glass transition, the time of sweep must scale exponentially with the number of quantum bits involved, resulting in an exponentially long time to reach the solution. Often, the same limitation occurs when using thermal annealing, which consists of lowering the temperature of a system of bits (classical or quantum) whose interactions are such that the ground state of the system encodes the solution of a computational problem. If a finite-temperature glass transition appears during the thermal annealing process, the computation is slowed down exponentially. Thus, finding ways of encoding universal computations in an annealing machine that avoids glass transitions is very desirable. More generally, developing statistical mechanics models that represent classical computation without interference from finite-temperature phase transitions is relevant to the identification and exploration of other dynamical pathways for relaxation into ground states (beyond classical and quantum annealing) that optimize time to solution.
The below summary is merely representative and non-limiting.
The above problems are overcome, and other advantages may be realized, by the use of the embodiments.
In accordance with the present disclosure, systems and methods that provide a platform for utilizing annealing and other computational methods to implement universal reversible computations are provided. The present disclosure is suitable for application to such difficult computational problems as satisfiability, factoring, and other similar tasks. The system and method provide reversible logic circuits in terms of interconnected vertices of a lattice, with each vertex describing a logic gate. Typically, the circuit implements a verification function f(x) of a computational problem in the NP complexity class, although any algorithmically computable function f(x) can be implemented. By adding ancilla bits and choosing appropriate boundary conditions for the lattice, one can run the computation in reverse and, for a given output y, find the input x such that y=f(x). This approach works well when the number of input values x that satisfy y=f(x) for a given y is limited and does not scale with the number of bits required to store x. However, it can be used in any situation.
According to an aspect of the present disclosure, the logic circuit that implements the verification function f(x) is implemented in terms of reversible logic gates that can involve two or more bits, such as TOFFOLI gates. Additional auxiliary gates such as IDENTITY and SWAP gates can be inserted in the circuit to create a regular pattern and to avoid the crossing of bit lines. In the physical implementation, bit lines that represent the evolution of bit states in time are replaced by physical connections between bits. Thus, a lattice of gates in two-dimensional space emerges, with gates enforcing logic relations among input and output bits and interconnects enforcing the same logic state between output bits of a gate and input bits of a neighboring gate. All gates are physically implemented by suitable two-body interactions among input and output bits which give an energy penalty to bit configurations that do not satisfy the gate's truth table. The resulting system is that of physical bits coupled by local one- and two-body interactions. The physical bits can be either classical or quantum.
According to another aspect of the present disclosure, the bits on the input and output boundaries of the circuit can be left unconstrained or be constrained by the application of a strong local field. The choice of which bits to constrain or not establishes the direction of computation: forward, backward, or mixed.
According to an aspect of the present disclosure, starting from an appropriate initial state for all bits, the system is annealed toward its ground state, where it reaches a configuration where all bits at the boundaries satisfy the function implemented by the circuit.
The presently disclosed embodiments show how to prepare the Chimera lattice configuration of the D-Wave System machine into a form appropriate to implement any reversible logic circuit and corresponding vertex gate lattice for universal computation through annealing.
The presently disclosed systems and methods may be applied to evaluate any multivariable Boolean expression for circuit satisfiability, or factoring sub-prime numbers.
The present disclosure is described in greater detail below, with reference to the accompanying drawings, in which:
In accordance with the present disclosure, a Boolean function over N variables is expressed in terms of reversible TOFFOLI, SWAP, and IDENTITY, as well as other gates. Three-bit TOFFOLI gates implement logic operations among binary variables, while two-bit SWAP gates are used to reduce the operation of any logic gate to adjacent variables. Two-bit IDENTITY gates fill gaps such that the combination of TOFFOLI, SWAP, and IDENTITY gates over the N parallel bit lines representing the evolution of the Boolean variables creates a lattice.
While in an ordinary representation of a circuit the bit lines indicate the direction of time, in this disclosure they indicate a real space dimension. In the physical implementation of the invention, quantum or classical bits systems (hereafter referred as qubits) are placed at the input and output lines going in and out of the gate, respectively. Thus, the gates are planar devices that connect input and output qubits, as illustrated in
E
TOFFOLI(σa, σb, σc; σa′, σb′, σd; σS)=−J(σaσa′+σbσb′)+J(σa−3σb−2σc+2σd+4σS)+J(−3σaσb−2σaσc+4σbσc+2σaσd−4σbσd−4σcσd+4σaσS−8σbσS−6σcσS+6σdσS)
where a, b, c denote the three input qubits 232 (a and b are control bits and c is the target bit) and a′, b′, d denote the three output bits 234; a seventh auxiliary qubit denoted by s is also employed in order to satisfy the truth table with just one- and two-bit interactions.
E
SWAP(σa, σb; σc, σd)=J(σaσd+σbσc)
where a, b denote the two input qubits 242 and c, d denote the two output qubits 244.
E hd IDENTITY (σa, σb; σc, σd)=J(σaσc+σbσd)
where a, b denote the two input qubits 252 and c, d denote the two output qubits 254.
The collection of gates that implement the circuit Boolean function form a lattice. Input and output qubits belonging to adjacent gates are connected by a ferromagnetic two-bit interaction. Here, (a) denotes an output qubit of a gate on the left and (b) denote an input qubit of a gate on the right. The energy cost associated to the connection between these two qubits is the following:
E
connect(σa, σb)=−Kσaσb
where K is a positive constant that controls the strength of the interaction.
For the purpose of pinning qubits located on the left (input) and right (output) boundaries of the circuit, local fields are employed. The total energy cost function implemented by the boundary fields is expressed as:
E
boundary({σk})=−Σk∈boundaryhkσk
where {hk} are fields acting on individual qubits. By setting hk»K, the variable σk is set to the value+1, while for −hk»K, the same variable is set to the value −1.
Once the physical implementation of the circuit is established, the computation problem to be solved can be encoded in the following way. Let x represent the state of the n input qubits on the left-hand side of the circuit, x=(x1, . . . , xn), and y represent the state of the n output qubits on the right-hand side of the circuit, y=(y1, . . . , yn). Three cases arise:
Solution to the Computational Problem By Annealing
The solution to the computational problem is encoded in the ground state of the system described above. Thermal and quantum annealing, or a combination of both approaches, are possible means to bring the system to its ground state.
while at the same time lowering the temperature of the system.
Vertex model: Combining all the energy cost functions listed above leads us to a total energy cost function EC for the lattice of gates that includes the interactions internal to each gate, the coupling between the qubits at the boundary between adjacent gates, and the fields associated with the input and output bits defining the boundary conditions of the computation:
where {σ}g represents all the qubits belonging to gate g and Eg is the energy cost function of the same gate. A transverse uniform field Γ can be added for the purpose of implementing quantum annealing, in which case the total energy cost function can be expressed as a Hamiltonian:
where {circumflex over (σ)}iz and {circumflex over (σ)}ix are non-commuting Pauli operators.
For the purpose of using a numerical method to reach the ground state of the lattice system, one can build a model where all gate constraints and input boundary constrains are satisfied, amounting to making the coupling constant J infinite in comparison to the coupling constant K. To represent the qubit state configurations that satisfy all gate truth tables we introduce the set of variables {qg}, with one variable for each gate g of the lattice, where qg ranges from 0 to rg−1. Here, rg is the number of allowable qubit states that are compatible with the truth table of gate g. For two-bit reversible gates involving four qubits, rg=4, namely, out of the 16 possible input and output qubit configurations, only four are allowed. For three-bit reversible gates involving six qubits, where the total number of input and output configuration is 256, only eight are allowed and rg=8. In terms of the new variables {qg}, the total Hamiltonian is written as:
The coefficients Kq
The system comprised by the variables {qg} and the total Hamiltonian expressed above defines a vertex model. The vertices are located at the gates and are connected by two types of links: single-qubit and double-qubit, depending on how many common qubits two neighboring gates shared. The vertex model can be defined on a regular square lattice 500 according to the following procedure illustrated in
Seven vertices are possible in this construction: in addition to the five rectangles mentioned above, there are vertices corresponding to a single SWAP gate and to a single IDENTITY gate.
(a) Left: a generic tile lattice 610 rotated by 45°. Qubits are put on the boundary of each gate. The lattice can be further divided into two sublattices, depicted by dark 612 and light grey 614 respectively; right: embedding of the tile lattice into the Chimera architecture. The couplings between qubits belonging to neighboring gates are indicated by dotted links. (b) Embedding of each gate into the unit cells of the Chimera architecture. (i) Left: a K4,4 unit cell 620 of the Chimera architecture; middle: in order to couple qubits in the same column, we slave the qubits to their neighbors in the other column using additional ferromagnetic couplings indicated by dotted links 622; right: effectively we are left with four qubits that are fully connected. For simplicity, we hereafter denote the effective couplings between spins in the same column by a single thin link 624. However, one should keep in mind that they are obtained by slaving the spins to the opposite column via large ferromagnetic couplings. (ii) The four qubits 630 in the rotated square tile are labeled by their locations on the tile: N (North), S (South), W (West) and E (East). Tiles corresponding to different sublattices may be embedded differently due to the special connectivity of the Chimera graph. (iii) Embedding of the TOFFOLI gate 640 consisting of two square tiles into two unit cells. (a, b, c, d) corresponds to the input and output bits of the gate, and s is the ancilla bit. In the unit cell, ferromagnetic couplings that copy spins are indicated by thin links 642, and couplings required in ETOFFOLI are indicated by thick links 644.
The entire lattice is rotated by 45° for convenience, and qubits living on the boundary of each gate are shown explicitly. The lattice of gates can be further divided into two sublattices labeled by dark and light grey.
Now let us first consider how to encode the IDENTITY and SWAP gates represented into a unit cell. The embedding involves internal couplings J that enforce the gate constraints, and the inter-qubit couplings K that match adjacent gates. The Chimera is unit cell forms a complete bipartite graph K4,4 as depicted in
In order to use the connectivity of the Chimera architecture and couple adjacent gates properly, one explores the bipartiteness of the square lattice. Let us take one gate from the rotated gate lattice, and label the four qubits by their locations on the gate: N (North), S (South), W (West) and E (East), as shown in
To embed the TOFFOLI gate uses two unit cells of the Chimea, and the qubits coupled between these two cells exactly provide the ancilla bit needed in ETOFFOLI. Similar to the IDENTITY and SWAP gates considered above, within a unit cell and additional ferromagnetic coupling is used to slave qubits from one column to the other when necessary. The explicit mapping is shown in
Adopting these procedures, one arrives at the embedding of the entire 4×4 gate lattice into the Chimera architecture, as shown in
As described above, various embodiments provide a method, apparatus and computer program(s) to solve a computation using a two-dimensional lattice of interconnected devices with input, output and internal bits, which can be classical or quantum.
The various blocks shown in
Various operations described are purely exemplary and imply no particular order. Further, the operations can be used in any sequence when appropriate and can be partially used. With the above embodiments in mind, it should be understood that additional embodiments can employ various computer-implemented operations involving data transferred or stored in computer systems. These operations are those requiring physical manipulation of physical quantities. Usually, though not necessarily, these quantities take the form of electrical, magnetic, or optical signals capable of being stored, transferred, combined, compared, and otherwise manipulated.
Any of the operations described that form part of the presently disclosed embodiments may be useful machine operations. Various embodiments also relate to a device or an apparatus for performing these operations. The apparatus can be specially constructed for the required purpose, or the apparatus can be a general-purpose computer selectively activated or configured by a computer program stored in the computer. In particular, various general-purpose machines employing one or more processors coupled to one or more computer readable medium, described below, can be used with computer programs written in accordance with the teachings herein, or it may be more convenient to construct a more specialized apparatus to perform the required operations.
The procedures, processes, and/or modules described herein may be implemented in hardware, software, embodied as a computer-readable medium having program instructions, firmware, or a combination thereof. For example, the functions described herein may be performed by a processor executing program instructions out of a memory or other storage device.
The foregoing description has been directed to particular embodiments. However, other variations and modifications may be made to the described embodiments, with the attainment of some or all of their advantages. Modifications to the above-described systems and methods may be made without departing from the concepts disclosed herein. Accordingly, the invention should not be viewed as limited by the disclosed embodiments. Furthermore, various features of the described embodiments may be used without the corresponding use of other features. Thus, this description should be read as merely illustrative of various principles, and not in limitation of the invention.
This patent application claims priority from U.S. Provisional Patent Application No. 62/323,006, filed Apr. 15, 2016, the disclosure of which is incorporated by reference herein in its entirety.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US17/27652 | 4/14/2017 | WO | 00 |
Number | Date | Country | |
---|---|---|---|
62323006 | Apr 2016 | US |