Enhanced Hybrid Quantum-Classical Algorithms for Optimization
By executing variational algorithms on a quantum processor and sorting and isolating the subsets of solutions, the problem that traditional computers are difficult to effectively solve the combination optimization problem, and the effect of generating a sufficiently large solution space sample and its maximum and minimum values is achieved when the quantum computing cost is minimized.
Patent Information
- Application Number
- CN201980063705.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2018-10-04
- Filing Date
- 2019-09-24
- Publication Date
- 2025-06-27
- Estimated Expiration
- 2039-09-24
AI Technical Summary
Existing traditional computers have difficulty in effectively solving the combination optimization problem, especially when calculating large enough samples of the entire solution space, and traditional variational algorithms focus on the average value on the solution space and ignore potential solutions that may be closer to the real solution.
Using an enhanced hybrid quantum classical algorithm, by executing a variational algorithm on a quantum processor, a subset of solutions for the ground state of the quantum system for combining optimization problems is generated within a predefined time period, and the subsets of solutions are sorted and isolated according to the sorting criteria, and the average value of the solutions is calculated to form an extreme value of the solution space.
Through this method, while minimizing the quantum computing cost, a large enough solution space sample and its maximum and minimum values can be generated, which improves the approximation ability of the real solution to the combined optimization problem and avoids the high cost and impossibility of traditional computing.
Smart Images

Figure CN112771549B_ABST
Abstract
Description
Technical Field
[0001] The present invention generally relates to variational algorithms using quantum computing. More specifically, the present invention relates to methods for enhancing hybrid quantum-classical algorithms for optimization. Background Art
[0002] Unless explicitly distinguished in use, hereinafter, the "Q" prefix in the words of a phrase indicates a reference to that word or phrase in the context of quantum computing.
[0003] Molecules and subatomic particles follow the laws of quantum mechanics, which is a branch of physics that explores how the physical world works at the most fundamental level. At this level, particles behave in strange ways, simultaneously presenting more than one state and interacting with other particles that are very far away. Quantum computing utilizes these quantum phenomena to process information.
[0004] The computers we use today are called classical computers (also referred to herein as "traditional" computers or traditional nodes, or "CN"). In the so-called Von Neumann architecture, traditional computers use traditional processors, semiconductor memories, and magnetic or solid-state storage devices manufactured using semiconductor materials and technologies. Specifically, the processors in traditional computers are binary processors, that is, they operate on binary data represented in 1 and 0.
[0005] A quantum processor (q-processor) uses the odd properties of entangled qubit devices (herein compactly referred to as "qubits", plural "qubits") to perform computational tasks. In the specific domain where quantum mechanics operates, matter particles can exist in multiple states, such as "on" state, "off" state, and simultaneously "on" and "off" states. While binary calculations using semiconductor processors are limited to using only the on and off states (equivalent to 1 and 0 in binary code), quantum processors utilize these quantum states of matter to output signals that can be used in data calculations.
[0006] Traditional computers encode information in bits. Each bit can take a value of 1 or 0. These 1s and 0s are used as on / off switches that ultimately drive the functions of the computer. On the other hand, quantum computers are qubit-based and operate according to two key principles of quantum physics: superposition and entanglement. Superposition means that each qubit can represent both 1 and 0 simultaneously. Entanglement means that qubits in superposition can be related to each other in a non-classical way; that is, the state of one qubit (whether 1 or 0 or both) can depend on the state of another qubit, and there is more information about the two qubits when they are entangled than can be ascertained when they are processed separately.
[0007] Using these two principles, qubits operate as more complex information processors, enabling quantum computers to function in ways that allow them to solve complex problems that are difficult to handle using traditional computers. IBM has successfully constructed and demonstrated the operability of a quantum processor using superconducting qubits (IBM is a registered trademark of International Business Machines Corporation in the United States and other countries.)
[0008] Exemplary embodiments recognize that quantum processors can execute various algorithms that currently available traditional processors either cannot execute or can execute only with undesired accuracy or computational resource consumption. Variational algorithms use trial wave functions that are varied to determine an upper bound on the ground state energy of a quantum system. A wave function is a mathematical description such as of the quantum state of a quantum system. Quantum states are represented on a quantum processor as a series of quantum logic gates acting on qubits. Each quantum state of a quantum system includes a corresponding energy value.
[0009] The total energy of the ground state of a quantum system corresponds to the smallest possible value of the total energy of that quantum system. The Hamiltonian is an operator that describes the total energy of a quantum state. Acting on a wave function, the Hamiltonian determines the value of the total energy corresponding to the quantum state.
[0010] To calculate an upper bound on the ground state energy of a quantum system, a variational algorithm performs numerous evaluations starting from an initial wave function. Each evaluation calculates the total energy of the quantum state corresponding to the wave function being evaluated. The variational algorithm can then vary the parameters of the wave function being evaluated to produce a new wave function, e.g., by varying at least one of the quantum logic gates in a set of quantum logic gates to perform a rotation on a qubit. Evaluation of the new wave function calculates the total energy of the new quantum state corresponding to the new wave function. The variational algorithm compares the total energy of the previous wave function with the total energy of the new wave function.
[0011] A traditional processor executes an optimization algorithm that varies the parameters of the wave function. A quantum processor calculates the corresponding total energy of the wave function. Based on a comparison between the total energy of the new wave function and the total energy of the previous wave function, the optimization algorithm determines how to vary the parameters of the wave function so as to minimize the total energy calculated for the quantum system.
[0012] The variational algorithm can continue to perform evaluations until the calculated total energy is relatively stable, e.g., successive evaluations calculate total energies within a threshold percentage. The stable calculated total energy from the final evaluation corresponds to an upper bound on the minimum energy of the ground state of the quantum system. The corresponding wave function represents an approximation of the eigenfunction of the quantum system.
[0013] Exemplary embodiments recognize that various algorithms can be used to solve any general combinatorial optimization problem. Combinatorial optimization involves determining the minimum or maximum of an objective function. For example, the traveling salesman problem involves determining the shortest possible path between n cities that visits each city exactly once. Combinatorial optimization involves determining a solution (a path between cities) at the lowest cost. The solution space of a combinatorial optimization problem is the set of possible solutions. The conditional value at risk focuses on a particular subset of the set of solutions. For example, a financial risk measurement scenario can look at the expected return (gain / loss) in the worst 5% of cases.
[0014] Exemplary embodiments recognize that the quantum states of particles in a quantum system can be entangled. An entangled quantum state cannot be described independently of the states of other particles in the quantum system. An entangled quantum state requires the quantum system to be described as a whole. Exemplary embodiments recognize that each iteration of a variational algorithm determines only a single potential solution for the quantum state of a quantum system.
[0015] Exemplary embodiments recognize that the solution space of a combinatorial optimization problem is generally too large to be exhaustively searched using a conventional computer. For many combinatorial optimization problems, it is costly or currently impossible to compute a large enough sample of the entire solution space using conventional computing, but it may be possible using a quantum computing architecture.
[0016] Exemplary embodiments further recognize that conventional variational algorithms for approximating the true solution of a combinatorial optimization problem focus on the average value over the entire set of solutions (the solution space) for each iteration of the variational algorithm. Exemplary embodiments recognize that some potential solutions in a subset of the set of solutions may be closer to the true solution of the combinatorial optimization problem. Exemplary embodiments also recognize that taking the average of the potential solutions that are closest to the minimum or maximum solution can help the variational algorithm determine a closer approximation to the true solution.
[0017] In addition, since quantum computing resources are scarce and expensive, there is a need to compute a large enough sample of the solution space and its maximum and minimum values at the lowest possible quantum computing cost. Accordingly, exemplary embodiments recognize the need for a novel method of performing a variational algorithm on a quantum computing platform in such a way that the quantum computing cost for generating a large sample of the solution space and its maximum and minimum values is minimized without loss of accuracy. SUMMARY OF THE INVENTION
[0018] Exemplary embodiments provide methods, systems, and computer program products for enhancing hybrid quantum-classical algorithms for combinatorial optimization. Embodiments include a method for enhancing a quantum-classical algorithm for combinatorial optimization, including executing a variational algorithm on a quantum processor, the execution generating a subset of a set of solutions (solution space) of the variational algorithm within a predefined period of time, the variational algorithm computing a ground state of a quantum system corresponding to a combinatorial optimization problem, and each solution in the subset having a corresponding value. The embodiment further includes sorting the subset of solutions according to a sorting criterion.
[0019] The embodiment further includes isolating a portion of the subset of solutions based on the sorting, wherein the value corresponding to each solution in the portion is within a boundary bounded by a threshold. The embodiment also includes computing an average value of the solutions from the portion of the subset of solutions. The embodiment also includes modifying the variational algorithm to generate a second subset of solutions such that the second subset of solutions includes solutions having values within the boundary.
[0020] The embodiment of sorting the subset of solutions includes arranging the subset of solutions in ascending order according to the sorting criterion. In the embodiment, the portion of the subset of solutions corresponds to the lowest 5% of the subset of solutions.
[0021] The embodiment includes executing the modified variational algorithm on the quantum processor, the execution generating a second subset of solutions of the modified variational algorithm within a second predefined period of time, and each solution in the second subset having a corresponding value. The embodiment includes receiving an input variable corresponding to the threshold before isolating the portion of the subset of solutions.
[0022] In the embodiment, the input variable is a percentage value. The embodiment includes receiving a first input variable corresponding to the threshold and a second input variable corresponding to a second threshold level before isolating the portion of the subset of solutions. The embodiment further includes executing a set of iterations of the variational algorithm on the quantum processor, the execution generating a subset of a set of solutions (solution space) of the variational algorithm for each iteration of the variational algorithm, each iteration of the variational algorithm computing a quantum state of a quantum system corresponding to a combinatorial optimization problem, and each solution in each subset having a corresponding value.
[0023] The embodiment includes sorting the second subset of solutions and the third subset of solutions according to the sorting criterion. The embodiment includes isolating a second portion of the second subset of solutions based on the sorting, wherein the value corresponding to each solution in the second portion is within a boundary bounded by a threshold.
[0024] The embodiment includes computing an average value of the solutions from the second portion of the second subset of solutions. The embodiment includes isolating a third portion of the third subset of solutions based on the sorting, wherein the value corresponding to each solution in the third portion is within a second boundary bounded by a second threshold.
[0025] In one embodiment, performing a variational algorithm includes calculating an expected value of a quantum state of a quantum system, where the quantum state of the quantum system corresponds to a set of quantum logic gates on a quantum processor. In an embodiment, an average value of these solutions forms an extreme value of a solution space.
[0026] In an embodiment, the method is embodied in a computer program product that includes one or more computer-readable storage devices and computer-readable program instructions stored on one or more computer-readable tangible storage devices and executed by one or more processors.
[0027] An embodiment includes a computer-usable program product. The computer-usable program product includes a computer-readable storage device and program instructions stored on the storage device.
[0028] An embodiment includes a computer system. The computer system includes a processor, a computer-readable memory, and a computer-readable storage device, and program instructions stored on the storage device for execution by the processor via the memory. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] The novel features believed to be characteristic of the invention are set forth in the appended claims. However, the invention itself, as well as a preferred mode of use, further objectives and advantages thereof, will best be understood by reference to the following detailed description of illustrative embodiments when read in conjunction with the accompanying drawings, in which:
[0030] Figure 1 A block diagram of a network of a data processing system in which illustrative embodiments can be implemented is depicted;
[0031] Figure 2 A block diagram of a data processing system in which illustrative embodiments can be implemented is depicted;
[0032] Figure 3 A block diagram of an example configuration for enhancing a quantum-classical hybrid variational algorithm in accordance with an illustrative embodiment is depicted;
[0033] Figure 4 A flowchart of an example method for enhancing a quantum-classical hybrid variational algorithm in accordance with an illustrative embodiment is depicted; and
[0034] Figure 5 An example diagram of an isolation step for enhancing a quantum-classical hybrid variational algorithm in accordance with an illustrative embodiment is depicted. DETAILED DESCRIPTION
[0035] Illustrative embodiments for describing the present invention generally locate and solve the above problems of variational algorithms for quantum computing. Illustrative embodiments provide a method for enhancing a quantum-classical algorithm for combinatorial optimization.
[0036] Embodiments provide a method for enhancing quantum-classical algorithms for combinatorial optimization. Embodiments provide a program product usable with a conventional or quantum computer, the program product including a computer-readable storage device and a plurality of program instructions stored on the storage device, the stored program instructions including a method for enhancing quantum-classical algorithms for combinatorial optimization. The instructions are executable using a conventional or quantum processor. Another embodiment provides a computer system including a conventional or quantum processor, a computer-readable memory, and a computer-readable storage device, and program instructions stored on the storage device for execution by the processor via the memory, the stored program instructions including a method for enhancing quantum-classical algorithms for combinatorial optimization.
[0037] These illustrative embodiments recognize that a quantum processor can execute various algorithms to compute an approximation of the ground state energy of a quantum system, e.g., for an electronic orbital configuration of a molecule with a given interatomic spacing. The Variational Quantum Eigensolver (VQE) is a non-limiting example of a variational algorithm executed on a quantum processor. The VQE changes parameters to prepare a quantum state and determine properties of the prepared quantum state. Preparing a quantum state on a quantum processor is as a sequence of quantum logic gates acting on qubits.
[0038] The variational algorithm iterates to produce new quantum states and minimize a property corresponding to the quantum state. The variational algorithm includes an optimizer to minimize a property corresponding to the quantum state. Each evaluation performed by the variational algorithm includes changing parameters to produce a new quantum state, computing a property of the new quantum state, comparing the property of the new quantum state and the previous quantum state, and determining how to change the parameters in successive evaluations based on the comparison. For example, the variational algorithm can make an evaluation to determine an upper bound on the ground state energy of the quantum system.
[0039] The variational algorithm changes parameters to produce a new quantum state and compares the total energy of the new quantum state with the total energy of the previous quantum state. The optimizer of the variational algorithm determines which parameters and / or how to change the parameter to reduce the total energy computed for the generated quantum state. The variational algorithm continues to perform evaluations until the computed total energy reaches a minimum and becomes relatively stable. The total energy computed for the final evaluation corresponds to an upper bound on the ground state energy of the quantum system.
[0040] For clarity of description, and without implying any limitation thereto, some example configurations are used to describe the illustrative embodiments. Those of ordinary skill in the art will be able to conceive of many changes, adaptations, and modifications to the described configurations for achieving the described purposes in accordance with the present disclosure, and such changes, adaptations, and modifications are contemplated to be within the scope of the illustrative embodiments.
[0041] In addition, simplified diagrams of a data processing environment are used in the figures and the illustrative embodiments. In an actual computing environment, additional structures or components not shown or described herein may exist, or structures or components different from those shown but for similar functions as described herein, without departing from the scope of the illustrative embodiments.
[0042] Furthermore, the illustrative embodiments are described only by way of example with respect to specific actual or hypothetical components. The steps described by different illustrative embodiments can be adapted to use different components to enhance the quantum-classical algorithm for combinatorial optimization, and these components can be purposefully or re-purposed to provide the described functions within a data processing environment, and such adaptations are contemplated to be within the scope of the illustrative embodiments.
[0043] The illustrative embodiments are described only by way of example with respect to certain types of steps, applications, quantum logic gates, and data processing environments. Any particular representation of these and other analogs is not intended to limit the invention. Any suitable representation of these and other analogs can be selected within the scope of the illustrative embodiments.
[0044] The examples in the present disclosure are only for clarity of description and are not limited to the illustrative embodiments. Any advantages listed herein are only examples and are not intended to limit these illustrative embodiments. Additional or different advantages can be achieved by specific illustrative embodiments. Furthermore, a particular illustrative embodiment may have some, all, or none of the advantages listed above.
[0045] Referring to the accompanying drawings, and in particular to Figure 1 and 2 , these figures are example diagrams of a data processing environment in which the illustrative embodiments can be implemented. Figure 1 and 2 are only examples and are not intended to assert or imply any limitation on the environments in which different embodiments can be implemented. Particular embodiments may make many modifications to the depicted environments based on the following description.
[0046] Figure 1A block diagram depicting a network of data processing systems in which illustrative embodiments may be implemented. Data processing environment 100 is a computer network in which illustrative embodiments may be implemented. Data processing environment 100 includes network 102. Network 102 is a medium for providing a communication link between different devices and computers connected together within data processing environment 100. Network 102 may include connections such as wired, wireless communication links, or fiber optic cables.
[0047] Client or server are merely example roles of some of the data processing systems connected to network 102 and are not intended to exclude other configurations or roles for these data processing systems. Server 106 is coupled to network 102 together with storage unit 108. Server 106 is a conventional data processing system. Quantum processing system 140 is coupled to network 102. Quantum processing system 140 is a quantum data processing system. Software applications may be executed on any of the quantum data processing systems in data processing environment 100. Any software application described as being executed in Figure 1 quantum processing system 140 in may be configured to execute in a similar manner in another quantum data processing system. Any data or information stored or generated in Figure 1 quantum processing system 140 in may be configured to be stored or generated in a similar manner in another quantum data processing system. A quantum data processing system (such as quantum processing system 140) may contain data and may have software applications or software tools for executing quantum computing processes thereon.
[0048] Clients 110, 112, and 114 are also coupled to network 102. Conventional data processing systems such as server 106 or clients 110, 112, or 114 may contain data and may have software applications or software tools for executing conventional computing processes thereon.
[0049] Merely by way of example and not implying any limitation to such architectures, Figure 1 depicts certain components available in an example implementation of an embodiment. For example, server 106 and clients 110, 112, 114 are depicted merely as examples as a server and clients and do not imply a limitation to a client-server architecture. As another example, one embodiment may be distributed across several conventional data processing systems, quantum data processing systems, and a data network as shown, while another embodiment may be implemented on a single conventional data processing system or a single quantum data processing system within the scope of the illustrative embodiments. Conventional data processing systems 106, 110, 112, and 114 also represent example nodes, partitions, and other configurations suitable for implementing embodiments in a cluster.
[0050] Device 132 is an example of a conventional computing device described herein. For example, device 132 may take the form of a smart phone, a tablet computer, a laptop computer, a client 110 in a fixed or portable form, a wearable computing device, or any other suitable device. Any software application described as being executed in another conventional data processing system in Figure 1 may be configured to be executed in device 132 in a similar manner. Any data or information stored or generated in another conventional data processing system in Figure 1 may be configured to be stored or generated in device 132 in a similar manner.
[0051] Server 106, storage unit 108, quantum processing system 140, and clients 110, 112, and 114, and device 132 may be connected to network 102 using a wired connection, a wireless communication protocol, or other suitable data connectivity. Clients 110, 112, and 114 may be, for example, personal computers or network computers.
[0052] In the depicted example, server 106 may provide data to clients 110, 112, and 114, such as boot files, operating system images, and applications. In this example, clients 110, 112, and 114 may be clients of server 106. Clients 110, 112, 114, or some combination thereof may include their own data, boot files, operating system images, and applications. Data processing environment 100 may include additional servers, clients, and other devices not shown.
[0053] In the depicted example, memory 144 may provide data to quantum processor 142, such as boot files, operating system images, and applications. Quantum processor 142 may include its own data, boot files, operating system images, and applications. Data processing environment 100 may include additional memory, quantum processors, and other devices not shown. According to one or more embodiments, memory 144 includes application 105, which may be configured to implement one or more functions described herein for converging variational algorithm solution spaces for quantum computing.
[0054] In the depicted example, data processing environment 100 may be the Internet. Network 102 may represent a collection of networks and gateways that communicate with each other using the Transmission Control Protocol / Internet Protocol (TCP / IP) and other protocols. The core of the Internet is a backbone of data communication links between major nodes or host computers, including thousands of commercial, government, educational, and other computer systems that route data and messages. Of course, data processing environment 100 may also be implemented as many different types of networks, such as an intranet, a local area network (LAN), or a wide area network (WAN). Figure 1Intended to be an example, rather than an architectural limitation of different illustrative embodiments.
[0055] Among other uses, data processing environment 100 can be used to implement a client - server environment in which illustrative embodiments can be implemented. The client - server environment enables software applications and data to be distributed across a network such that the applications operate by using the interaction between a traditional client data processing system and a traditional server data processing system. The data processing environment 100 can also adopt a service - oriented architecture in which interoperable software components distributed across a network can be encapsulated together as a coherent business application. The data processing environment 100 can also take the form of a cloud and adopt a cloud - computing model for service delivery to enable convenient, on - demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services), and the configurable computing resources can be rapidly provisioned and released with minimal management effort or interaction with a service provider.
[0056] See Figure 2 , which depicts a block diagram of a data processing system in which illustrative embodiments can be implemented. Data processing system 200 is an example of a traditional computer, such as Figure 1 the servers 104 and 106 in , or the clients 110, 112, and 114, or another type of device in which computer - usable program code or instructions for implementing the illustrative embodiments can be located.
[0057] Data processing system 200 also represents a traditional data processing system or a configuration thereof, such as Figure 1 the traditional data processing system 132 in , in which computer - usable program code or instructions for implementing the illustrative embodiments can be located. Data processing system 200 is described only as an example of a computer and is not limited thereto. Implementations in the form of other devices (such as Figure 1 the device 132 in ) can modify data processing system 200, such as by adding a touch interface, and even eliminate some of the depicted components from data processing system 200 without departing from the general description of the operation and function of data processing system 200 described herein.
[0058] In the depicted example, the data processing system 200 employs a hub architecture including a north bridge and memory controller hub (NB / MCH) 202 and a south bridge and input / output (I / O) controller hub (SB / ICH) 204. A processing unit 206, main memory 208, and graphics processor 210 are coupled to the north bridge and memory controller hub (NB / MCH) 202. The processing unit 206 may include one or more processors and may be implemented using one or more heterogeneous processor systems. The processing unit 206 may be a multi-core processor. In some implementations, the graphics processor 210 may be coupled to the NB / MCH 202 via an Accelerated Graphics Port (AGP).
[0059] In the depicted example, a Local Area Network (LAN) adapter 212 is coupled to the south bridge and I / O controller hub
[0060] (SB / ICH) 204. An audio adapter 216, keyboard and mouse adapter 220, modem 222, read-only memory (ROM) 224, Universal Serial Bus (USB) and other ports 232, and PCI / PCIe devices 234 are coupled to the south bridge and I / O controller hub 204 via a bus 238. A hard disk drive (HDD) or solid state drive (SSD) 226 and a CD-ROM 230 are coupled to the south bridge and I / O controller hub 204 via a bus 240. The PCI / PCIe devices 234 may include, for example, an Ethernet adapter, expansion cards, and PC cards for a laptop computer. PCI uses a card bus controller, while PCIe does not. The ROM 224 may be, for example, a flash Binary Input / Output System (BIOS). The hard disk drive 226 and CD-ROM 230 may use, for example, an Integrated Drive Electronics (IDE), Serial Advanced Technology Attachment (SATA) interface, or variants such as External SATA (eSATA) and Mini-SATA (mSATA). A Super I / O (SIO) device 236 may be coupled to the south bridge and I / O controller hub (SB / ICH) 204 via a bus 238.
[0061] Memories such as the main memory 208, ROM 224, or flash memory (not shown) are some examples of computer-usable storage devices. The hard disk drive or solid state drive 226, CD-ROM 230, and other similar available devices are some examples of computer-usable storage devices including computer-usable storage media.
[0062] An operating system runs on the processing unit 206. The operating system coordinates and provides access to Figure 2Control of different components within the data processing system 200. The operating system can be a commercially available operating system for any type of computing platform, including but not limited to server systems, personal computers, and mobile devices. Object-oriented or other types of programming systems can operate in conjunction with the operating system and provide calls to the operating system from programs or applications executing on the data processing system 200.
[0063] Instructions for the operating system, object-oriented programming system, and applications or programs (such as Figure 1 the application 105 in
[0064] are located on a storage device, such as in the form of code 226A on the hard disk drive 226, and can be loaded into at least one of one or more memories (such as the main memory 208) for execution by the processing unit 206. The processing of the illustrative embodiments can be performed by the processing unit 206 using computer-implemented instructions that can be located in a memory (e.g., the main memory 208, read-only memory 224, or one or more peripheral devices).
[0065] Figure 1-2 The hardware in Figure 1-2 can vary depending on the implementation. In addition to or instead of Figure 1-2 the hardware depicted in
[0066] other internal hardware or peripheral devices can be used, such as flash memory, equivalent non-volatile memory, or an optical disk drive, etc. Additionally, the processing of the illustrative embodiments can be applied to a multiprocessor data processing system.
[0067] The communication unit may include one or more devices for sending and receiving data, such as a modem or a network adapter. The memory may be, for example, main memory 208 or a cache, such as the cache found in the north bridge and memory controller hub 202. The processing unit may include one or more processors or CPUs.
[0068] Figure 1-2 The examples depicted and the above examples are not meant to imply architectural limitations. For example, in addition to taking the form of a mobile or wearable device, the data processing system 200 may also be a tablet computer, a laptop computer, or a telephone device.
[0069] In the case where a computer or data processing system is described as a virtual machine, virtual device, or virtual component, the virtual machine, virtual device, or virtual component uses virtualized representations of some or all of the components depicted in the data processing system 200 to operate in the manner of the data processing system 200. For example, in a virtual machine, virtual device, or virtual component, the processing unit 206 represents a virtualized instance of all or some number of the hardware processing units 206 available in the host data processing system, the main memory 208 represents a virtualized instance of all or some portion of the main memory 208 available in the host data processing system, and the disk 226 represents a virtualized instance of all or some portion of the disk 226 available in the host data processing system. In this case, the host data processing system is represented by the data processing system 200.
[0070] See Figure 3 , which depicts a block diagram of an example configuration 300 of a quantum-classical hybrid variational algorithm for enhancing quantum computing. The example embodiment includes an application 302. In a particular embodiment, the application 302 is Figure 1 an instance of the application 105 of
[0071] The application 302 receives input variables 304 and parameters 306. The input variables 304 determine the portion of the potential solution selected from the iterations of the variational algorithm. For example, the input variables 304 may be a threshold, such as a percentage of the potential solution. The parameters 306 represent the wave function corresponding to the quantum state of the quantum system.
[0072] In some embodiments, the user inputs a set of variables. For example, the user may input an initial threshold and a final threshold. The first iteration of the variational algorithm uses the initial threshold. The application 302 changes the threshold for subsequent iterations until the final threshold is reached. For example, the application 302 linearly changes the threshold from the initial threshold of the first iteration to the final threshold of the final iteration.
[0073] Application 302 includes a solution space search component 308, a stop condition component 310, a solution space sorter component 312, a solution space isolator component 314, and an algorithm tuner component 316. In this embodiment, the solution space search component 308 executes a variational algorithm on a quantum processor to generate a subset of a set of solutions (solution space). For example, the quantum processor may execute a number of iterations of the variational algorithm to compute a subset of solutions, where each solution in the subset corresponds to a value from one iteration of the variational algorithm.
[0074] In one embodiment, the stop condition component 310 monitors and controls the number of iterations executed by the quantum processor. For example, the stop condition component 310 may receive input from a user to execute fifty iterations of the variational algorithm. In some embodiments, the stop condition is a predefined period of time during which the variational algorithm is executed. In some embodiments, the stop condition occurs when a final threshold is reached.
[0075] In an embodiment, the solution space sorter component 312 arranges and sorts the subset of solutions according to a sorting criterion. For example, the solution space sorter component 312 may arrange the subset of solutions in ascending order. In an embodiment, the solution space isolator component 314 selects a portion of the subset of solutions. Each solution in the portion is within a boundary defined by a threshold. For example, if the input variable is 5%, the solution space isolator component 314 may isolate a portion of the subset of solutions corresponding to 5% of the total number of solutions in the subset of solutions.
[0076] In some embodiments, the solution space isolator component 314 computes an average solution from a portion of the solutions that form one extreme of the solution space. The average solution corresponds to a conditional value at risk in a combinatorial optimization problem. For example, the solution space isolator component 314 may compute an average solution from a portion of the subset of solutions at the minimum end of the solution space. In an embodiment, the algorithm tuner component 316 changes the variational algorithm to generate a second subset of solutions. For example, the algorithm tuner component 316 may change the variational algorithm to generate a second subset of solutions such that the second subset of solutions includes solutions with values within the boundary.
[0077] See Figure 4 , which depicts a flowchart of an example method 400 for operating a data processing system according to an illustrative embodiment, the data processing system being for enhancing a quantum-classical algorithm for combinatorial optimization. In block 402, application 302 executes a variational algorithm on a quantum processor. Executing the variational algorithm generates a subset of a set of solutions (solution space) of the variational algorithm within a predefined period of time. The variational algorithm implements a combinatorial optimization problem. Each solution in the subset has a corresponding value. For example, the variational algorithm may compute the expected value of the Hamiltonian operator of a molecule with a given interatomic spacing as the solution for each iteration. In an embodiment, each expected value in the set of expected values corresponds to the expected value of the Hamiltonian operator as the solution for each iteration.
[0078] In block 404, application 302 sorts a subset of solutions according to a sorting criterion. For example, application 302 may sort the set of values in ascending order. In block 406, application 302 isolates a portion of the subset of solutions. The values corresponding to each solution in this portion are within a boundary defined by a threshold. For example, application 302 may select a portion of the subset of solutions that represents the first α% of the expected values of the sorted set of values, where α is an input variable. Application 302 selects a portion of the subset of solutions based on the sorted permutation. For example, application 302 may select a portion of the subset of solutions corresponding to the first n values in the ordered permutation.
[0079] In block 408, application 302 calculates an average solution from this portion of the subset of solutions. The average solution from this portion forms an extreme of the solution space. For example, application 302 calculates the average of a portion of the subset of solutions corresponding to the lowest five percent of the subset of solutions. In block 410, application 302 determines whether the variational algorithm needs to be changed. Application 302 performs an analysis of the variational algorithm based on the calculated average solution and the subset of the generated set of solutions.
[0080] If application 302 determines that the variational algorithm needs to be tuned (the "yes" path in block 410), then application 302 prompts the user to change aspects of the variational algorithm. In some embodiments, application 302 changes the variational algorithm to produce a second subset of solutions such that the second subset of solutions includes solutions with values within the boundary. For example, performing the changed variational algorithm on a quantum processor produces a second subset of solutions such that the second subset of solutions includes solutions with values within this boundary. In an embodiment, application 302 returns to block 402 to perform method 400 again using the changed variational algorithm. If application 302 determines that the variational algorithm does not need to be tuned (the "no" path in block 410), then method 400 ends.
[0081] See Figure 5 , which depicts an example diagram 500 of an isolation step for enhancing a quantum-classical hybrid variational algorithm according to an illustrative embodiment. Line 502 represents the selection of five percent of the set of values calculated using the variational algorithm. Five percent of the calculated set of values is below line 502 in the figure. Line 504 represents the average of the calculated set of values. Line 504 represents determining the average from the entire calculated set of values.
[0082] Various embodiments of the present invention are described herein with reference to the related drawings. Alternative embodiments may be designed without departing from the scope of the present invention. For example, additional variational algorithms for quantum computing may be included in method 400 without departing from the scope of the present invention.
[0083] The following definitions and abbreviations are used to interpret the claims and the specification. As used herein, the terms "comprise", "comprising", "include", "including", "has", "having", "contain" or "containing" or any other variation thereof are intended to cover non-exclusive inclusion. For example, a composition, mixture, process, method, article, or apparatus that comprises a series of elements is not necessarily limited to those elements but may include other elements not expressly listed or inherent to such composition, mixture, process, method, article, or apparatus.
[0084] Additionally, the term "exemplary" is used herein to mean "serving as an example, instance, or illustration". Any embodiment or design described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments or designs. The terms "at least one" and "one or more" shall be understood to include any integer greater than or equal to one, i.e., one, two, three, four, etc. The term "a plurality" shall be understood to include any integer greater than or equal to two, i.e., two, three, four, five, etc. The term "connected" may include indirect "connection" and direct "connection".
[0085] References in the specification to "one embodiment", "an embodiment", "example embodiment", etc., indicate that the embodiment described may include a particular feature, structure, or characteristic, but each embodiment may or may not include that particular feature, structure, or characteristic. Moreover, such phrases do not necessarily refer to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is contemplated that such feature, structure, or characteristic is within the knowledge of one of ordinary skill in the art in connection with other embodiments whether or not explicitly described.
[0086] The terms "about", "substantially", "approximately" and variations thereof are intended to include the degree of error associated with measurements of a specific quantity based upon the equipment available at the time of filing of the present application. For example, "about" can include a range of ±8% or 5%, or 2% of a given value.
[0087] The description of the different embodiments of the invention has been presented for purposes of illustration but is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to a person of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terms used herein were chosen to best explain the principles of the embodiments, the practical application, or the technical improvement of the technology found in the marketplace, or to enable other persons of ordinary skill in the art to understand the embodiments described herein.
Claims
1. A method for quantum computing, comprising: Executing a variational algorithm on a quantum processor, the execution generating a subset of a set of solutions of the variational algorithm within a predefined time period, the variational algorithm calculating a quantum state of a quantum system corresponding to a combinatorial optimization problem, each solution in the subset having a corresponding value; Sorting the subset of solutions according to a sorting criterion; Isolating a portion of the subset of solutions based on the sorting, wherein the value corresponding to each solution in the portion is within a boundary defined by a threshold; Calculating an average value of the solutions from the portion of the subset of solutions; And Changing the variational algorithm to generate a second subset of solutions such that the second subset of solutions includes solutions having values within the boundary; The method further comprises executing the changed variational algorithm on the quantum processor, the execution generating the second subset of solutions of the changed variational algorithm within a second predefined time period, each solution in the second subset having a corresponding value.
2. The method according to claim 1, wherein sorting the subset of solutions comprises: Sorting the subset of solutions in ascending order according to the sorting criterion.
3. The method according to claim 1 or 2 above, wherein, The portion of the subset of solutions corresponds to the lowest five percent of the subset of solutions.
4. The method according to any one of the preceding claims 1 or 2, further comprising: Receiving an input variable corresponding to the threshold before isolating the portion of the subset of solutions.
5. The method according to claim 4, wherein, The input variable is a percentage value.
6. The method according to any one of the preceding claims 1 or 2, further comprising: Receiving a first input variable corresponding to a threshold and a second input variable corresponding to a second threshold level before isolating the portion of the subset of solutions; And Executing a set of iterations of the variational algorithm on the quantum processor, the execution generating a subset of a set of solutions of the variational algorithm for each iteration of the variational algorithm, each iteration of the variational algorithm calculating a quantum state of a quantum system corresponding to a combinatorial optimization problem, each solution in each subset having a corresponding value; Sorting the second subset of solutions and the third subset of solutions according to the sorting criterion; Isolating a second portion of the second subset of solutions based on the sorting, wherein the value corresponding to each solution in the second portion is within the boundary defined by the threshold; Calculating an average value of the solutions from the portion of the second subset of solutions; And Isolating a third portion of the third subset of solutions based on the sorting, wherein the value corresponding to each solution in the third portion is within a second boundary defined by the second threshold.
7. The method according to any one of the preceding claims 1 or 2, wherein executing the variational algorithm further comprises: Calculating an expected value of the quantum state of the quantum system, wherein the quantum state of the quantum system corresponds to a set of quantum logic gates on the quantum processor.
8. The method according to claim 1 or 2 above, wherein, The average value of the solutions forms an extreme value of the set of solutions of the variational algorithm.
9. A computer-usable program product, comprising a computer-readable storage device, and comprising program instructions stored on the storage device, the stored program instructions comprising: Program instructions for performing a variational algorithm on a quantum processor, the execution generating a subset of a set of solutions of the variational algorithm within a predefined time period, the variational algorithm calculating a quantum state of a quantum system corresponding to a combinatorial optimization problem, each solution in the subset having a corresponding value; Program instructions for sorting the subset of solutions according to a sorting criterion; Program instructions for isolating a portion of the subset of solutions based on the sorting, wherein the value corresponding to each solution in the portion is within a boundary defined by a threshold; Program instructions for calculating an average value of the solutions from the portion of the subset of solutions; And Program instructions for changing the variational algorithm to produce a second subset of solutions such that the second subset of solutions includes solutions having values within the boundary; The stored program instructions further include: Program instructions for performing the changed variational algorithm on the quantum processor, the execution generating the second subset of solutions of the changed variational algorithm within a second predefined time period, each solution in the second subset of solutions having a corresponding value.
10. The computer-usable program product according to claim 9, wherein the computer-usable code is stored in a computer-readable storage device in a data processing system, and wherein the computer-usable code is transmitted from a remote data processing system via a network.
11. The computer-usable program product according to claim 9, wherein the computer-usable code is stored in a computer-readable storage device in a server data processing system, and wherein, Download the computer-usable code via a network to a remote data processing system for use in a computer-readable storage device associated with the remote data processing system.
12. The computer-usable program product according to claim 9, wherein the program instructions for sorting the subset of solutions include: Program instructions for arranging the subset of solutions in ascending order according to the sorting criterion.
13. The computer-usable program product according to any one of claims 9 to 12, wherein the portion of the subset of solutions corresponds to the lowest five percent of the subset of solutions.
14. The computer-usable program product according to any one of claims 9 to 12, the stored program instructions further include: Program instructions for receiving an input variable corresponding to the threshold before isolating the portion of the subset of solutions.
15. The computer-usable program product according to claim 14, wherein, The input variable is a percentage value.
16. The computer-usable program product according to any one of claims 9 to 12, the stored program instructions further include: Program instructions for receiving a first input variable corresponding to the threshold and a second input variable corresponding to a second threshold level before isolating the portion of the subset of solutions; And Program instructions for performing a set of iterations of the variational algorithm on the quantum processor, the execution generating a subset of a set of solutions of the variational algorithm for each iteration of the variational algorithm, each iteration of the variational algorithm calculating a quantum state of a quantum system corresponding to a combinatorial optimization problem, each solution in each subset having a corresponding value; Program instructions for sorting the second subset of solutions and a third subset of solutions according to the sorting criterion; Program instructions for isolating a second portion of a second subset of the solutions based on the sorting, wherein the value corresponding to each solution in the second portion is within the boundary defined by the threshold; And Program instructions for isolating a third portion of a third subset of solutions based on the sorting, wherein the value corresponding to each solution in the third portion is within a second boundary defined by the second threshold.
17. The computer-usable program product according to any one of claims 9 to 12, wherein the program instructions for performing the variational algorithm further comprise: Program instructions for calculating an expected value of a quantum state of the quantum system, wherein the quantum state of the quantum system corresponds to a set of quantum logic gates on the quantum processor.
18. A computer system comprising a processor, a computer-readable memory, and a computer-readable storage device, and program instructions stored on the storage device for execution by the processor via the memory, the stored program instructions comprising: Program instructions for performing a variational algorithm on a quantum processor, the performance generating a subset of a set of solutions of the variational algorithm within a predefined time period, the variational algorithm calculating a quantum state of a quantum system corresponding to a combinatorial optimization problem, each solution in the subset having a corresponding value; Program instructions for sorting the subset of solutions according to a sorting criterion; Program instructions for isolating a portion of the subset of solutions based on the sorting, wherein the value corresponding to each solution in the portion is within a boundary defined by a threshold; Program instructions for calculating an average value of the solutions from the portion of the subset of solutions; And Program instructions for changing the variational algorithm to produce a second subset of solutions such that the second subset of solutions comprises solutions having values within the boundary; The stored program instructions further comprise: Program instructions for performing the changed variational algorithm on the quantum processor, the performance generating the second subset of solutions of the changed variational algorithm within a second predefined time period, each solution in the second subset of solutions having a corresponding value.