Improving the performance of quantum computers
By introducing systems of monitoring operation components, model components and calibration agents in the quantum computing system, the problem of time-consuming and resource-intensive calibration of quantum computing systems in the prior art is solved, and more efficient quantum computing system performance optimization and reliability improvement are achieved.
Patent Information
- Application Number
- JP2024555166
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-04-01
- Filing Date
- 2023-03-27
- Publication Date
- 2025-04-22
- Estimated Expiration
- 2043-03-27
AI Technical Summary
Existing quantum computing systems consume time and resources during calibration, and the prior art is difficult to effectively solve the problem of isolation between quantum computing systems and environment, resulting in noise sources and decoherence.
A system including monitoring job components, model components and calibration agents is employed, which can perform monitoring jobs to determine parameter values of quantum computing systems, use model components to model system states, and determine calibration strategies based on monitoring data to optimize performance of quantum computing systems.
By optimizing calibration strategies, the performance of quantum computing systems is significantly improved, the system unavailability time due to calibration is reduced, and the overall reliability of the system is improved.
Smart Images

Figure 2025512758000001_ABST
Abstract
Description
[Technical field]
[0001] The present disclosure relates to quantum computing using quantum circuits. Quantum computing employs quantum physics to encode and process information. In contrast to classical computing, which uses binary bits of information, quantum computing can utilize quantum bits (also called qubits) that operate according to the laws of quantum physics and can exhibit quantum mechanical phenomena such as superposition and entanglement. The superposition principle of quantum physics can allow a quantum bit to be in a state that partially represents both a "1" value and a "0" value simultaneously. The entanglement principle of quantum physics can allow the quantum bits to be correlated with each other such that the combined state of the quantum bits cannot affect the individual quantum bit states. For example, the state of a first quantum bit can depend on the state of a second quantum bit. As such, quantum circuits can employ quantum bits to encode and process information in ways that can be significantly different from transistor-based binary digital technology. [Background technology]
[0002] However, quantum computing can present challenges. For example, isolating a quantum computing system from the environment can be a challenge. Also, qubits can typically be manipulated while in use, and manipulation of qubits often exposes the quantum computing system to sources of noise that can cause decoherence. For example, parameters of a quantum computing system, such as the temperature of the system's electronics, can change unnecessarily. As a result, it can be desirable to calibrate a quantum computer to maintain its performance. However, existing calibration techniques can be unnecessarily time- and resource-intensive.
[0003] The preceding description is intended merely to provide a background overview regarding quantum computer systems and is not intended to be exhaustive. Summary of the Invention
[0004] The following presents a summary to provide a basic understanding of one or more embodiments of the disclosed subject matter. This summary is not intended to identify key or critical elements, nor is it intended to delineate the scope of particular embodiments or the claims. Its sole purpose is to present concepts in a simplified form as a prelude to the more detailed description that is presented later. In one or more embodiments described herein, a system, device, structure, computer-implemented method, apparatus, or computer program product, or combination thereof, is provided that can desirably calibrate a quantum computer.
[0005] An embodiment relates to a system comprising a memory storing computer-executable components and a processor operatively coupled to the memory to execute the computer-executable components. The computer-executable components may include a monitoring job component that may perform a group of monitoring jobs on the quantum computer based on a group of data input to the quantum computer. The computer-executable components may also include a calibration agent that may determine a calibration strategy relating to ordering the execution of a group of calibration tasks for calibrating at least one parameter associated with the quantum computer based on input from the group of monitoring jobs. Such an embodiment of the system may provide multiple advantages, including the system may improve performance of the quantum computer while reducing unavailability of the quantum computer due to the execution of calibrations on the quantum computer.
[0006] In some embodiments, the system may also include a modeler component capable of determining, at a given time instance, each quantum computer system state parameter value associated with the quantum computer based on a group of parameter values determined from output data generated by the quantum computer in response to execution of the group of monitoring jobs, where the group of quantum computer system state parameter values may model each state of the quantum computer associated with each parameter, where the group of quantum computer system state parameter values may include each quantum computer system state parameter value. In certain embodiments, the system may further include the calibration agent capable of determining a calibration strategy for calibration of the quantum computer, where the determination may include determining a group of items to calibrate, determining a respective ordering of execution of calibration tasks for calibrating each item of the group of items, or determining a schedule for calibration of the group of items associated with the quantum computer based on the group of quantum computer system state parameter values, where the group of items may include a qubit or pair of qubits of the quantum computer or a portion of each parameter associated with the quantum computer. In yet other embodiments, the calibration agent may use the artificial intelligence model to perform an analysis on at least one of the parameter values associated with the quantum computer or the quantum computer system state parameter values associated with the quantum computer that are input to the artificial intelligence model, and based on the results of the analysis, the calibration agent may determine updates to a calibration strategy, reward value, or calibration policy associated with calibrating a group of quantum computers that includes the quantum computer, and the calibration agent may be trained based on the reward value or the results of the analysis. These embodiments of the system may provide multiple advantages, including the system may efficiently determine a desired calibration strategy for calibrating the quantum computer and may improve the performance of the quantum computer while reducing quantum computer downtime due to performing calibrations of the quantum computer.
[0007] In some embodiments, the elements described in connection with the disclosed methods may be embodied in various forms, such as a method, a computer program product, or other forms.
[0008] These and other features will become apparent from the following detailed description of example embodiments, which should be read in conjunction with the accompanying drawings. [Brief description of the drawings]
[0009] [Figure 1] FIG. 1 illustrates a block diagram of an exemplary, non-limiting system that can determine and implement a desired calibration strategy for calibrating and improving the performance of a quantum computer. [Diagram 2] FIG. 1 illustrates an example monitoring job execution process in accordance with various aspects and embodiments of the disclosed subject matter. [Diagram 3] FIG. 1 illustrates an example system state modeling process in accordance with various aspects and embodiments of the disclosed subject matter. [Figure 4] 1A-1C illustrate example graphs of parameter values in accordance with various aspects and embodiments of the disclosed subject matter. [Diagram 5] 1A-1C illustrate example graphs of parameter values in accordance with various aspects and embodiments of the disclosed subject matter. [Figure 6] FIG. 1 illustrates an example data series of representative parameters that can reveal fluctuations, deviations, and jumps in the data. [Figure 7] FIG. 1 illustrates an example direct system state modeling process in accordance with various aspects and embodiments of the disclosed subject matter. [Figure 8] FIG. 1 illustrates an example calibration-related action decision process that may be employed to facilitate calibration of parameters associated with a quantum computer in accordance with various aspects and embodiments of the disclosed subject matter. [Figure 9]FIG. 2 illustrates a block diagram of an example calibration agent in accordance with various aspects and embodiments of the disclosed subject matter. [Figure 10] FIG. 1 illustrates an exemplary calibration determination process in accordance with various aspects and embodiments of the disclosed subject matter. [Figure 11] 1 illustrates an example graph of simulation results for a simulation relating to a qubit of a quantum computer in accordance with various aspects and embodiments of the disclosed subject matter. [Figure 12] FIG. 1 illustrates a flow diagram of an exemplary, non-limiting method by which a desired calibration strategy for calibrating and improving the performance of a quantum computer can be determined in accordance with various aspects and embodiments of the disclosed subject matter. [Figure 13] FIG. 10 illustrates a flow diagram of another exemplary, non-limiting method by which a desired calibration strategy for calibrating and improving the performance of a quantum computer may be determined and implemented in accordance with various aspects and embodiments of the disclosed subject matter. [Figure 14] FIG. 10 illustrates a flow diagram of another exemplary, non-limiting method by which a desired calibration strategy for calibrating and improving the performance of a quantum computer may be determined and implemented in accordance with various aspects and embodiments of the disclosed subject matter. [Figure 15] FIG. 1 illustrates a block diagram of an exemplary non-limiting operating environment that can facilitate one or more embodiments described herein. [Figure 16] FIG. 1 illustrates a block diagram of an exemplary non-limiting cloud computing environment in accordance with one or more embodiments described herein. [Figure 17] FIG. 2 illustrates a block diagram of an example non-limiting abstract model layer in accordance with one or more embodiments described herein. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] The following detailed description is merely exemplary and is not intended to limit the embodiments or the application and / or uses of the embodiments, nor is it intended to be bound by any express or implied information presented in the preceding "Background" or "Summary" sections or in the "Description of the Preferred Embodiments" section.
[0011] One or more embodiments are now described with reference to the drawings, wherein like reference numerals are used to refer to like elements throughout. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of one or more embodiments. However, it will be apparent that in various instances, one or more embodiments may be practiced without these specific details.
[0012] Quantum computers are able to exploit the laws of quantum mechanics to manipulate information. In contrast to classical computing, which uses binary bits of information, quantum computing can utilize qubits, which can operate according to the laws of quantum physics, can exhibit quantum mechanical phenomena such as superposition and entanglement, and can be used to perform calculations that even the largest classical supercomputers may have difficulty performing.
[0013] However, quantum computing can have challenges. For example, isolating a quantum computing system from the environment can be a challenge. Also, qubits can typically be manipulated while in use, and manipulation of qubits often exposes the quantum computing system to sources of noise that can cause decoherence. For example, parameters of a quantum computing system, such as the temperature of the system's electronics, can change unnecessarily. As a result, it can be desirable to calibrate a quantum computer to maintain its performance. However, existing calibration techniques can be unnecessarily time- and resource-intensive. Furthermore, existing calibration techniques are not sufficiently scalable, and a significant amount of time can be spent calibrating a quantum computer if calibration is not warranted at that time.
[0014] Some existing techniques for calibrating quantum computers may typically only involve calibrating the qubits or qubit gates of a quantum computer using a particular type of calibration routine. While these existing techniques may in some cases be usable to calibrate a qubit or qubit gate at a given instance of time, such existing techniques may be unnecessarily inefficient or ineffective at comprehensively calibrating various system parameters associated with the qubits, qubit gates, or other quantum components or circuits of a quantum computer, and the overall performance of the quantum computer over time.
[0015] It may be desirable to be able to comprehensively calibrate (e.g., automatically or dynamically calibrate) and improve the performance of system parameters associated with qubits, qubit gates, or other quantum components or circuits of a quantum computer, and the overall performance of the quantum computer over time. It may also be desirable to reduce unnecessary calibration of a quantum computer, thereby reducing the downtime of the quantum computer due to undergoing calibration. The disclosed subject matter may be implemented to create solutions to at least some of these or other problems or both with existing approaches for calibrating quantum computers.
[0016] As such, various aspects and embodiments are presented herein relating to techniques for improved calibration and performance of a quantum computer. A monitoring job component may execute a monitoring job for the quantum computer. Based on the execution of the monitoring job, a set (e.g., a group) of system parameter values for system parameters associated with the quantum computer may be determined, estimated, or measured. A modeler component may determine a system state parameter value for each of the system parameters associated with the quantum computer at a given time based on the set of system parameter values at each time instance (e.g., time step). A calibration agent may determine a calibration strategy related to ordering the execution of a group of calibration jobs (e.g., tasks) to calibrate at least one parameter associated with the quantum computer based on the system state parameter values to improve (e.g., refine, improve, or optimize) performance of the quantum computer. The calibration agent may perform calibration of system parameters associated with the quantum computer and / or other quantum computers based on (e.g., in accordance with) the calibration strategy. The calibration agent can also determine a reward associated with the benefits and costs associated with performing a calibration of the quantum computer, and based on the reward, can update a calibration policy, which can be used to determine or update a calibration strategy for calibrating system parameters associated with the quantum computer (e.g., during subsequent iterations of the calibration of the quantum computer). Policy updates can also be part of training the calibration agent, as described herein.
[0017] As described herein, techniques for improved calibration and performance of quantum computers of the disclosed subject matter can have a number of desirable advantages. For example, such techniques can improve (e.g., refine, increase, or optimize) the performance of qubits or other quantum components or circuits and the overall performance of the quantum computer, reduce undue or unnecessary calibrations associated with a quantum computer, reduce quantum computer downtime due to calibrations performed on the quantum computer, and reduce the amount of resources (e.g., time resources, computational resources, financial resources, or other resources) utilized to calibrate a quantum computer.
[0018] These and other aspects and embodiments of the disclosed subject matter will now be described with reference to the drawings.
[0019] FIG. 1 illustrates a block diagram of an exemplary, non-limiting system 100 that can determine and execute a desired calibration strategy for calibrating (e.g., automatically or dynamically calibrating) and improving the performance of a quantum computer in accordance with various aspects and embodiments of the disclosed subject matter. System 100 can include a quantum computer 102 that can include various quantum devices, quantum circuits, or other components, or combinations thereof. The quantum device can include, for example, a set of qubits including qubit 104, qubit 106, and qubit 108. Quantum computer 102 can be programmed such that a desired quantum circuit comprising qubits, as well as other quantum devices, circuits, and components, can be formed based on, for example, a set of instructions (e.g., a sequence of assembled instructions) that can be input to quantum computer 102 and run (e.g., executed) to create and operate a desired quantum circuit, and the structure of the quantum circuit and the operations (e.g., quantum operations) performed by the quantum circuit can be based on the set of instructions. In response to execution of a quantum program, which may include or be associated with a set of instructions, or may include input data or parameter data, or both, and operation of a quantum circuit based on such a quantum program, quantum computer 102 may generate a result (e.g., a data result), which may also be referred to as a retrieved result or a retrieved decision. Quantum computer 102 may present (e.g., communicate or transmit) the result as an output.
[0020] In some embodiments, the qubits (e.g., 104, 106, 108) can be transmon qubits (e.g., superconducting transmon qubits) or other types of charge qubits. In other embodiments, the qubits (e.g., 104, 106, 108) can be formed using different types of quantum mechanical techniques. Each of the qubits (e.g., 104, 106, 108) can be determined by a system parameter λ i(e.g., a set of quantum computer system parameters) where i can be virtually any desired number. i may represent or relate to a particular quantum computer, such as quantum computer 102, and the system parameters may include, for example, qubit frequencies f associated with qubits, multi-qubit (e.g., two-qubit) gates, and higher order qubit gates. 01 The parameters may include a frequency (e.g., the transition frequency of the quantum bit from the ground state to the first excited state) or other type of frequency, a thermal relaxation time T1, a phase relaxation time T2, low frequency noise, a temperature of the quantum computer 102 (e.g., the temperature of a particular quantum component of the quantum computer 102), an Xp amplitude (e.g., the amplitude of the Xp pulse), an amplitude and angle of a cross-resonance (CR), a read error, or other desired system parameter associated with the quantum computer 102.
[0021] As disclosed herein, existing techniques for calibrating quantum computers can have various deficiencies that can cause inefficient (e.g., unnecessary, unwarranted, or excessive) calibration of a quantum computer, undesirable (e.g., wasteful, inefficient, suboptimal) use of resources (e.g., time, computational, or other resources), undesirable costs (e.g., time, resource, or financial costs) associated with the inefficient calibration of a quantum computer, and undesirable downtime of a quantum computer due to the quantum computer being subjected to undesirable calibration.
[0022] To overcome these and other problems with existing approaches for calibrating quantum computers, according to various embodiments, system 100 may include a calibration management component (CMC) 110, which may be associated with quantum computer 102 and / or other quantum computers, that may determine and execute a desired (e.g., appropriate, improved, or optimal) calibration strategy (e.g., a parameter improvement strategy) to calibrate (e.g., automatically or dynamically calibrate) and improve the performance of quantum computer 102 and / or other quantum computers according to defined calibration management criteria. The calibration strategy may improve (e.g., refine, enhance, or optimize) the overall performance of quantum computer 102 (e.g., improve the performance of qubits, including qubit gates, and / or read instruction set associated with quantum computer 102, while also improving (e.g., refine, enhance, or maximize) the availability of quantum computer 102 by reducing downtime or unavailability of quantum computer 102 with respect to performing calibration jobs on quantum computer 102). To facilitate the desired calibration of quantum computer 102 or other quantum computers, or both, CMC 110 may include a monitor job component 112, a modeler component 114, and a calibration agent 116.
[0023] The monitoring job component 112 may run (e.g., execute or perform) a monitoring job set M on the quantum computer 102 to infer or determine system parameters associated with the quantum computer 102 (e.g., associated with the qubits (e.g., 104, 106, 108) of the quantum computer 102). i , and calculating the system parameter λ associated with the quantum computer 102. ican be inferred, estimated, or determined, where i can be virtually any desired number. The monitoring job set M has N A a set of monitoring jobs,
number
[0024] In certain embodiments, the set of monitoring jobs can be designed or determined by a user, and the set of monitoring jobs can be an initial, default, or static set of monitoring jobs, or a later determined (e.g., later adapted or modified) set. The CMC 110 can receive input data from a user, and the monitoring job component 112 can create the set of monitoring jobs based on the input data. In other embodiments, the calibration agent 116 can design or determine a set of monitoring jobs (e.g., an adapted set) that can be utilized (e.g., executed) by the monitoring job component 112 during a given execution of a monitoring job. For example, based on training of the calibration agent 116 (e.g., in a standard training loop or an external training loop), as described herein, the calibration agent 116 can adapt and improve the design of the monitoring jobs and the timing of execution of the set of monitoring jobs according to a calibration strategy, which can be determined by the calibration agent 116, as described in further detail herein. In some embodiments, the monitor job component 112 can input monitor job data (e.g., monitor job instructions) to the quantum computer 102 to facilitate forming a quantum circuit comprising qubits (e.g., 104, 106, 108) and executing a set of monitor jobs.
[0025] Briefly referring to FIG. 2 (in conjunction with FIG. 1), FIG. 2 illustrates a diagram of an example monitoring job execution process 200 in accordance with various aspects and embodiments of the disclosed subject matter. In accordance with the example monitoring job execution process 200, N A There may be a monitoring job set 202(M) that includes a set (e.g., group or sequence) of monitoring jobs,
number
[0026] As shown at reference numeral 206 in the exemplary monitoring job execution process 200, the monitoring job component 112 executes a desired number N T for the quantum computer 102 over time instances A System parameters (e.g., a desired number N) that may be generated based on (e.g., in response to) the execution of a set of monitoring jobs. TA parameter buffer P may be created that contains a set (e.g., a collection) of system parameter values λ for a time instance of λ. In some embodiments, as shown in FIG. 2 and described herein, the parameter values in the parameter buffer may include the system parameter λ, i (t j ), where i is the system parameter number (e.g., 0 to N A where j can be a time step index (e.g., time steps from 0 to T). The parameter buffer can be relatively sparse or dense, as desired. For example, if the parameter buffer is relatively sparse, it can contain a relatively smaller number of system parameter entries due to a relatively smaller number of system parameter evaluations and / or a relatively smaller number of time steps used during the execution of the monitoring job. In contrast, if the parameter buffer is relatively dense, it can contain a relatively larger number of system parameter entries due to a relatively larger number of system parameter evaluations and / or a relatively larger number of time steps used during the execution of the monitoring job.
[0027] According to various embodiments, CMC 110 (e.g., calibration agent 116) may directly utilize the set of system parameters (e.g., a parameter buffer containing system parameter values) as described herein to determine a calibration strategy for calibrating quantum computer 102 or other quantum computers, or CMC 110 may utilize the set of parameters to determine a set of system state parameters associated with quantum computer 102 that can be utilized by calibration agent 116 to determine a calibration strategy for calibrating quantum computer 102 or other quantum computers, or both.
[0028] To facilitate determining the set of system state parameters, the modeler component 114 can analyze the set of system parameters and / or apply a desired modeling function (χ) or process (e.g., a statistical process control (SPC) function or process, a stochastic process function or process, or other desired modeling function or process) to the set of system parameters. Based on the analysis or application of the desired modeling function or process to the set of system parameters, the modeler component 114 can determine or generate (e.g., produce) a set of system state parameters that can desirably model a system state associated with the quantum computer 102.
[0029] In that regard, referring briefly to FIG. 3 (in conjunction with FIG. 1 ), FIG. 3 illustrates a diagram of an example system state modeling process 300 in accordance with various aspects and embodiments of the disclosed subject matter. As shown at reference numeral 302 of the example system state modeling process 300, the modeler component 114 can utilize a set of system parameters (e.g., a system parameter buffer P) as a data input for the system state modeling process 300. As shown at reference numeral 304 of the example system state modeling process 300, the modeler component 114 analyzes the set of system parameters, performs system state modeling on the set of system parameters, and generates a representation of the system state (e.g., χ(P)=S based on a desired modeling function (χ) or process (e.g., an SPC function or process, a stochastic process function or process, or other desired modeling function or process). k (t T A representation S of the system state associated with the quantum computer 102 can be generated. k are the underlying system parameters (e.g., λ i A system state representation S may frequently characterize, capture, or indicate whether one or more of the system parameters S, S, and S are significantly changed (e.g., changed, deviated, deviated, shifted, or moved by a defined threshold amount of change in parameter value) from normal statistical variation. A significant change in a system parameter may be an indication that calibration of or associated with the system parameter may be desirable (e.g., appropriate, justified, useful, or beneficial) to improve the system parameter (e.g., refine or optimize the system parameter). k (t T ), the calibration agent 116 can calibrate each system parameter λ i Instead of having to learn details about the system parameters λ iThe quantum computers can learn to respond to input data based on shifts or changes in the statistical distribution of . This can enable calibration agent 116 to use data from across quantum computers to train a single calibration agent that can be applied to all desired quantum computers as described herein.
[0030] As shown at reference numeral 306 of the exemplary system state modeling process 300, based on the system state modeling performed on a set of system parameters associated with the quantum computer 102, the modeler component 114 generates a set of system state parameters S that includes each system state parameter (e.g., system state parameter value) for the T time steps. k (t T ) may be determined and / or generated. In some embodiments, the system state parameter values of the system states may be determined and / or generated as shown at 306 in FIG. 3 and described herein. S system state parameters (e.g.,
number
[0031] Further with respect to the system state modeling process, as disclosed, the modeler component 114 can utilize SPC to facilitate the execution of system state modeling associated with the quantum computer 102. SPC is a technique that can be employed to facilitate process monitoring and control, as well as detection of anomalies (e.g., statistical anomalies or deviations) in monitored variables from a baseline or defined value (e.g., mean, median, maximum, minimum, range of values, standard deviation (or multiple standard deviations), or other baseline), where anomalies in a variable may be indicative of a problem associated with that variable. In some embodiments, the modeler component 114 can determine whether there is an anomaly (e.g., a statistically significant anomaly or change) associated with a parameter based on the results of determining whether a difference between a parameter value or set of parameter values and a baseline parameter value associated with the parameter can meet (e.g., meet or exceed, be equal to or greater than a defined threshold amount) of difference (e.g., a defined threshold amount of change in the parameter value). If there is a parameter value or set of parameter values that meets the defined threshold amount of difference, this can indicate that an anomaly exists. In certain embodiments, the modeler component 114 can determine whether there is an anomaly (e.g., a statistically significant anomaly) associated with a parameter based on a plurality of parameter values (e.g., a plurality of consecutive parameter values) determined to exceed or fall below a baseline parameter value. If there is at least a certain number of parameter values determined to exceed the baseline parameter value or if there is at least a certain number of parameter values determined to fall below the baseline parameter value, this can indicate that an anomaly exists, where such a certain number can be defined according to a defined calibration control criterion.
[0032] The SPC may employ a set of rules, which may be referred to as detection rules (e.g., anomaly detection rules) or Nelson rules, that may be applied to facilitate determining or detecting whether an anomaly associated with a variable (e.g., a parameter associated with the quantum computer 102) is occurring. For example, the set of rules may indicate or warn of a situation that is unlikely to occur given a characterization of the statistics of the parameter (e.g., a system parameter), and thus may indicate that the underlying statistical distribution has changed significantly. This may allow for a system state S k (t T ) can be provided. It should be appreciated and understood that in other embodiments, modeler component 114 can determine and generate system state parameter values that can have other values besides Boolean values. For example, modeler component 114 can determine system state parameter values that can range from 0 to 5, 0 to 10, 0 to 100, or another desired value, where each system state parameter value can represent a different characteristic of the system state of a system parameter associated with the quantum computer 102 under consideration.
[0033] One rule of a set of rules that may be desirable (e.g., useful, appropriate, or beneficial) in connection with determining a calibration strategy for a quantum computer may include a rule specifying that nine (or more) consecutive data points (e.g., parameter values) on the same side of an average parameter value of a parameter may indicate the presence of a long-term bias in the data and that an anomaly associated with the parameter may exist. Briefly referring to FIG. 4 to graphically illustrate this rule, FIG. 4 shows a diagram of an example graph 400 of parameter values in accordance with various aspects and embodiments of the disclosed subject matter. The example graph 400 may include a set of data points (e.g., parameter values) including data points 402, 404, 406, and 408 plotted on the graph 400. In comparing the various data points on the graph 400 with the mean value (MV) 410 of the parameter, it can be observed that data point 402 is above the mean value 410 and data point 404 is below the mean value 410, and it can also be observed that there are nine consecutive data points 412 including data points 406 and 408 that are above the mean value 410 as well as data points between them. When the modeler component 114 evaluates the data points on this graph 400, it can apply a detection rule to determine that there are nine consecutive data points 412 that are above the mean value 410, thus indicating that the detection rule is violated (e.g., the condition of the rule is satisfied or met) and that there may be an indication that some type of long-term bias is present in the data and therefore an anomaly exists with respect to that parameter. In response, in some embodiments, the modeler component 114 can insert a Boolean value (e.g., 1) corresponding to this parameter into the set of system state parameters (e.g., in the corresponding position in the system state matrix).
[0034] If instead, graph 400 indicates that there are not nine consecutive data points on the same side of the mean (and assuming that other detection rules do not indicate that an anomaly associated with this parameter exists), modeler component 114 can apply the detection rules to instead determine that the data does not indicate that any type of long-term bias exists in the data, and accordingly, there is no indication that an anomaly exists with respect to that parameter. In response, modeler component 114 can insert a Boolean value (e.g., 0) corresponding to this parameter into the set of system state parameters (e.g., in the corresponding position in the system state matrix).
[0035] Another rule in the set of rules, which may be a rule specifying two (or three) consecutive data points (e.g., parameter values) that are more than two standard deviations from the mean parameter value for the parameter in the same direction, may indicate that there may be an anomaly associated with this parameter. Briefly referring to FIG. 5 for a graphical illustration of this other rule, FIG. 5 shows a diagram of an example graph 500 of parameter values in accordance with various aspects and embodiments of the disclosed subject matter. The example graph 500 may include a set of data points (e.g., parameter values) including data points 502, 504, 506, and 508 plotted on the graph 500. In comparing various data points on graph 500 with the mean value (MV) 510 of the parameter and the second standard deviation 512 (2σ) from the mean value 510, it can be observed that data point 502 is below the mean value 510 and data point 504 is above the mean value 510 but less than two standard deviations above the mean value 510, and it can also be observed that between data point 502 and data point 504 on graph 500 there are two consecutive data points 506 and 508 that are above the mean value 510 by at least two standard deviations. When modeler component 114 evaluates the data points on graph 500, modeler component 114 can apply a detection rule to determine that there are two consecutive data points 506 and 508 that are above the mean value 510 by at least two standard deviations in the same direction, thus indicating that the detection rule is violated (e.g., the conditions of the rule are met) and that an anomaly may exist for the parameter. In response, in particular embodiments, the modeler component 114 can insert a Boolean value (e.g., 1) corresponding to this parameter into the set of system state parameters (e.g., in the corresponding position in the system state matrix).
[0036] If instead, the graph 500 indicates that there are no two consecutive data points that are at least two standard deviations away from the mean 510 in the same direction (and assuming that other detection rules do not indicate an anomaly associated with this parameter), the modeler component 114 can apply the detection rule to instead determine that the data does not indicate that an anomaly exists with respect to that parameter. In response, the modeler component 114 can insert a Boolean value (e.g., 0) corresponding to this parameter into the set of system state parameters (e.g., in the corresponding position in the system state matrix).
[0037] It should be appreciated and understood that these two detection rules are merely two non-limiting examples of SPC detection rules that may be utilized (e.g., applied) to facilitate determining or detecting whether an anomaly associated with a parameter has occurred, and that additionally or alternatively, the modeler component 114 may use one or more of the other SPC detection rules, or one or more other rules that may be utilized in an SPC process (e.g., consistent with an SPC process), in accordance with the disclosed subject matter to facilitate detecting whether an anomaly associated with a parameter has occurred.
[0038] In certain embodiments, the modeler component 114 can utilize probabilistic process modeling to facilitate performing system state modeling associated with the quantum computer 102. Probabilistic process modeling is a modeling technique that the modeler component 114 can utilize to detect (e.g., determine or identify) when a parameter value or set of parameter values for a parameter has deviated (e.g., changed) from a desired (e.g., intended) target parameter value (e.g., a baseline parameter value) for the parameter (e.g., when a parameter value or set of parameter values has changed from a desired target parameter value by at least a defined threshold amount of change in the parameter value). In some embodiments, the desired target parameter value can be an average parameter value that can be determined based on a desired set of data points (e.g., a set of parameter values), while in other embodiments, the desired target parameter value can be a different type of value, as described herein. If the modeler component 114 determines that a parameter value or set of parameter values has changed from a desired target parameter value by at least a defined threshold amount of change in the parameter value, this may indicate that an anomaly exists with respect to the parameter. In accordance with stochastic process modeling, if the modeler component 114 determines that an anomaly exists with respect to a parameter, the modeler component 114 may insert a Boolean value (e.g., 1) corresponding to this parameter into the set of system state parameters (e.g., in the corresponding position in the system state matrix). Alternatively, if the modeler component 114 determines that no anomaly has been detected with respect to a parameter, the modeler component 114 may insert a Boolean value (e.g., 0) corresponding to this parameter into the set of system state parameters (e.g., in the corresponding position in the system state matrix).
[0039] In some embodiments, the modeler component 114 may store the system parameters λ in a parameter buffer P. i (t j ) as a stochastic process ζ i (t j ) → λ i (t j ) and the modeler component 114 may model each stochastic process as a realization of, for example, a non-zero mean drift-diffusion process with random resets modeled starting at t=t0 with respect to generic parameters.
number
number
[0040] The modeler component 114 can utilize probabilistic process modeling to perform system state modeling associated with the quantum computer 102 to facilitate detecting anomalies (e.g., significant anomalies or changes) in parameter values associated with the system parameters. For example, when examining a data series of a representative (informative) parameter, the data series may manifest fluctuations, deviations, or jumps, or a combination thereof, in the data. The deviations or jumps (e.g., amount of change) in the data, if significant enough, may indicate or represent an anomaly associated with the parameter. In some cases, the fluctuations in the data may indicate or represent an anomaly associated with the parameter. However, some degree of temporal variation in the data (e.g., some degree of variation in a single or small number of parameter values), even in the presence of relatively large temporal variations, may be determined (e.g., by the modeler component 114) to not indicate or represent an anomaly associated with the parameter, depending in part on the criteria (e.g., calibration control criteria) utilized to determine what constitutes an anomaly for a particular parameter, which criteria may vary depending on the type of parameter or other factors, or both. For a data series associated with parameters, the modeler component 114 can use Bayesian estimation (e.g., using an artificial intelligence (AI) component as disclosed herein) to estimate parameter values for the parameters and estimate a target parameter value (e.g., a mean parameter value or other target parameter value) for each parameter.The modeler component 114 may use stochastic process modeling on the data series of estimated parameter values and the estimated target parameter values for each parameter to desirably (e.g., reliably, adequately, or accurately) distinguish between jumps and true deviations in the data from temporary fluctuations in the parameter values, and / or to desirably (e.g., reliably, adequately, or accurately) distinguish between significant anomalies in the parameter values (e.g., large changes, fluctuations, jumps, or deviations) and non-significant anomalies in the parameter values (e.g., smaller or temporary changes or fluctuations).
[0041] For example, from the estimated parameter values (e.g., as estimated using Bayesian estimation or otherwise estimated using another technique) and the estimated target parameter values, the modeler component 114 can evaluate (e.g., compare) the parameter values (e.g., distributions of parameter values) relative to the estimated target parameter values for each parameter and one or more conditions (e.g., applicable to a particular parameter) according to the defined calibration control criteria. The one or more conditions that may be specified by the defined calibration control criteria can include, for example, a condition related to a defined threshold amount of change or difference (e.g., deviation) of the parameter value from the target parameter value, a condition related to a difference of the parameter value relative to other parameter values proximate to the parameter value (e.g., other parameter values in the data series that are adjacent to the parameter value or that are within a defined amount of time or a defined number of time steps of the parameter value), or another desired condition. Based at least in part on the results of such evaluation, the modeler component 114 can determine whether there is an anomaly associated with a particular parameter (e.g., a defined threshold amount of change or difference in the parameter value compared to a target parameter value, or a significant difference in the parameter value relative to other parameter values proximate the parameter value, or another result that may indicate a change in the data distribution of the parameter value relative to the target parameter value, such as the average parameter value) according to a defined calibration control criterion. In accordance with stochastic process modeling, the modeler component 114 can determine a system state parameter value for each parameter based on the outcome of the determination of whether an anomaly is detected for the parameter, as described herein. Based on such system state modeling, the calibration agent 116 can desirably identify significant changes in the underlying system parameter values while ignoring or discounting insignificant changes in the underlying system parameter values (e.g., insignificant temporary fluctuations).
[0042] Briefly referring to Figure 6, Figure 6 shows a diagram of an exemplary data series 600 of a representative parameter that can reveal fluctuations, deviations, and jumps in the data. The exemplary data series 600 can include a data series 602, a data series 604, and a data series 606 that include each data point over time (t[m]). As can be observed in the data points, there can be certain data points, such as data point 608, data point 610, and data point 612, that can match other data points (e.g., data points located close in time to the data points), and there can be other data points, such as data point 614, data point 616, or data point 618, that can differ significantly in value from other data points located close in time to the data points.
[0043] In other embodiments, the CMC 110 may alternatively use direct state modeling by passing a set of system parameters associated with the quantum computer 102 directly to the calibration agent 116 for analysis and processing to facilitate performing direct system state modeling associated with the quantum computer 102. Briefly referring to FIG. 7 (in conjunction with FIG. 1 ), FIG. 7 illustrates a diagram of an exemplary direct system state modeling process 700 in accordance with various aspects and embodiments of the disclosed subject matter. As shown at reference numeral 702 of the exemplary direct system state modeling process 700, the CMC 110 may utilize a set of system parameters (e.g., a system parameter buffer P) as a direct data input for the direct system state modeling process 700. As shown at reference numerals 704 and 706 of the exemplary direct system state modeling process 700, the CMC 110 may use system state modeling on the set of system parameters to generate a representation of the system state (e.g., χ(P)=S k (t T) may be generated. In some embodiments, the system state parameter values of the system states generated from the example direct system state modeling process 700 (e.g., a set of system parameters that are used directly as state modeling for the quantum computer 102) may be arranged or structured in the form of a matrix (e.g., a system state parameter matrix), as shown at reference numeral 706 in FIG.
[0044] 8 and 9 (in conjunction with FIG. 1 ), in accordance with various aspects and embodiments of the disclosed subject matter, FIG. 8 illustrates a diagram of an example calibration-related action decision process 800 that may be employed to facilitate calibration (e.g., automatic or dynamic calibration) of parameters associated with a quantum computer (e.g., quantum computer 102), and FIG. 9 illustrates a block diagram of an example calibration agent 116. As shown at reference numeral 802 of the example calibration-related action decision process 800, a set of system state parameters S associated with quantum computer 102 is k (t T ) may be input to the calibration agent 116 for analysis and processing by the calibration agent 116, and the set of system state parameters may be the underlying system parameters λ associated with the quantum computer 102. i has changed significantly (eg, changed by at least a defined threshold amount).
[0045] As shown at reference numeral 804 of the exemplary calibration-related action decision process 800, the calibration agent 116 using the action component 902 may analyze a set of system state parameters associated with the quantum computer 102 and a policy π (e.g., of the policy component 904) related to calibration, and based on the results of such analysis, the calibration agent 116 may determine whether to adjust one or more system parameters (e.g., π(S)) associated with the quantum computer 102 in accordance with a defined calibration control criterion, as described herein.k (t T ))=a(t T ) to desirably (e.g., properly, improved, or optimally) calibrate (e.g., improve performance of) T ), determine a reward associated with calibrating the quantum computer 102, or update a policy, or a combination thereof. The reward may be determined (e.g., by the calibration agent 116) for a given action taken (e.g., performed) with respect to the quantum computer (e.g., running a calibration job or calibration strategy, making a decision that a calibration job is not to be performed, or other type of action taken with respect to the quantum computer 102 or other quantum computers), as described in further detail herein. As indicated by reference numeral 806 of the example calibration-related action determination process 800, process 800 may return to running a set of monitoring jobs, which may be the same set of monitoring jobs or different sets of monitoring jobs, as described herein.
[0046] Further, with reference to reference numeral 804 of process 800, action a may be to execute a calibration job (e.g., a performance improvement job or task) C according to the policy. i to calibrate system parameters associated with the quantum computer 102, to execute a calibration strategy (e.g., a parameter improvement strategy) C for calibrating one or more system parameters associated with the quantum computer 102, or to determine no action, or a combination thereof, where determining no action may mean that the quantum computer 102 may be available for other jobs by the user.
[0047] The policy π may be or may include a desired goal of a calibration routine (e.g., a reinforcement learning routine or other calibration routine). The policy is a set of parameters that determine the system state S associated with the quantum computer 102. k Calibration agent 116 may specify, indicate, or indicate which action to take based on the policy. Calibration agent 116 may determine, update, implement, or execute policies in one or more of a variety of ways, including, for example, using AI-based analysis (e.g., analysis using AI or machine learning (ML) techniques or models and / or deep neural networks (e.g., trained deep neural networks)), decision trees, lookup tables, or other desirable means, as described herein. The policy π may indicate, specify, or be used to determine, in accordance with a defined calibration control criterion, which parameters associated with the quantum computer 102 should be calibrated, an ordering of calibration tasks to be performed to calibrate one or more system parameters associated with the quantum computer 102, a schedule for performing the calibration of one or more system parameters associated with the quantum computer 102, or other calibration-related actions that may be performed by the calibration agent 116 to desirably (e.g., appropriately, improved, or optimally) facilitate the calibration of parameters associated with the quantum computer 102, or any combination thereof.
[0048] Parameter improvement (e.g., refinement or optimization) job (e.g., task) C imay include the calibration agent 116 performing parameter estimation and updating one or more system parameters associated with the quantum computer 102 (e.g., qubits (e.g., 104, 106, or 108) or other components of the quantum computer 102, qubit transition frequencies, multi-qubit gates, higher order qubit gates, Xp amplitudes, CR amplitudes, T1, T2, low frequency noise, read errors, temperature of the quantum computer, or other system parameters). A parameter improvement job with respect to a system parameter may also be referred to herein as calibrating a parameter (e.g., a system parameter).
[0049] A parameter improvement strategy (e.g., a calibration strategy) C may improve (e.g., refine, enhance, or optimize) the performance of the quantum computer 102 (e.g., improve the performance of the qubits of the quantum computer 102). C A parameter improvement job (e.g., a calibration job) C i may contain a defined sequence of
number
[0050] Calibration agent 116 using calibration execution component 906 can execute a calibration strategy (e.g., parameter improvement strategy C) and execute one or more calibration jobs according to a specified order for execution of such calibration jobs to desirably calibrate one or more system parameters associated with quantum computer 102 and / or another quantum computer. In some embodiments, calibration agent 116 can implement or execute parameter improvement strategy C using one or more desired calibration (e.g., auto-calibration) routines. Note that each (e.g., different) calibration job can take a different amount of time to execute and thus each calibration strategy can take a different amount of time to execute. One or more system parameters associated with quantum computer 102 and / or another quantum computer can be updated (e.g., adjusted or changed) such that performance of quantum computer 102 and / or another quantum computer can be improved (e.g., improved or optimized) based on execution of one or more calibration jobs in a specified order.
[0051] In some embodiments, calibration agent 116 can train itself to improve the determination of calibration jobs to perform and calibration strategies to execute to improve system parameters associated with quantum computer 102 or other quantum computers, and to improve performance of quantum computer 102 or other quantum computers, or both. For example, calibration agent 116 can include or be associated with an AI component 908 that can perform analysis on data including or related to the operation of quantum computer 102 (e.g., the operation of qubits (e.g., 104, 106, or 108, or a combination thereof) or other quantum components or circuits of the quantum computer, system parameters or system state parameters or both associated with quantum computer 102, policy information of policies, information related to rewards (e.g., reward values or functions, performance reward values or functions, availability reward values or functions), information related to actions (e.g., the execution of a calibration job or calibration strategy, or a decision not to execute a calibration job, or both), metadata, related historical information, or any other desired type of information.
[0052] In some embodiments, in connection with or as part of such analysis by the AI component 908, the AI component 908 may employ, build (e.g., construct or create), or import, AI and / or ML techniques and algorithms, AI and / or ML models, neural networks (e.g., deep neural networks trained using the AI component 908), and / or graph mining to represent and / or generate predictions, inferences, calculations, foresights, estimates, derives, forecasts, detections, and / or calculations that may facilitate making one or more decisions related to the calibration of the quantum computer. For example, the calibration agent 116 may input data including a group of system state parameter values (or a group of system parameter values) associated with the quantum computer 102, and / or other desired information related to the operation of the quantum computer 102, into an AI-based model (e.g., an AI model, an ML model, or a deep neural network). Preprocessing the system parameter values to generate system state parameter values associated with a quantum computer (e.g., by performing SPC or stochastic process modeling) can enable the AI-based model to desirably (e.g., appropriately, improved, or optimally) analyze and process the input data (e.g., system state parameter values), train (e.g., iteratively train) the AI-based model, and generate inferences, predictions, estimates, or decisions related to calibration of the quantum computer, which can be provided as output from the AI-based model.For example, training and running an AI-based model with input of system state parameter values associated with quantum computer 102 may generally be more desirable (e.g., better, more improved, or more optimal) as compared to if the AI-based model were otherwise trained by inputting system parameter values or other raw (or less raw) data into the AI-based model.
[0053] As part of the iterative training process, the calibration agent 116 can continue to input data (e.g., the next group of system state parameters or other desired information) to the AI-based model in an ongoing iterative manner as the data is generated (e.g., by the modeler component 114), and the AI component 208 can iteratively train and improve the AI-based model to analyze and process such input data as such input data continues to be input to the AI-based model to represent (e.g., provide, generate, or output) inferences, predictions, estimates, or decisions related to the calibration of the quantum computer. Over time, as more training iterations are performed on the AI-based model, the AI-based model can become increasingly refined, and accordingly, the inferences, predictions, estimates, or decisions related to the calibration of the quantum computer generated by the AI-based model can become increasingly refined. For example, as the AI component 208 iteratively trains the AI-based model over time, the AI-based model (e.g., the trained AI-based model) can learn (e.g., get better or learn more) which actions (e.g., running a particular calibration job under certain conditions associated with the quantum computer, running a particular sequence of calibration jobs, or a particular schedule for running calibration jobs) can desirably improve the performance of the quantum computer, while not rendering the quantum computer unavailable (e.g., unavailable for performing quantum operations and quantum computations) for an undesirable amount of time due to calibration jobs being run.Also, as the AI component 208 iteratively trains the AI-based model over time, the AI-based model may learn (e.g., learn better or increasingly) which other actions (e.g., running different calibration jobs under certain conditions associated with the quantum computer, running different sequences of calibration jobs, or different schedules for running calibration jobs) do not improve the performance of the quantum computer or cause the quantum computer to be unavailable for an undesirable (e.g., inappropriate, excessive, or unnecessarily large) amount of time due to the calibration jobs being performed.
[0054] For example, the AI component 208 using the trained AI-based model can analyze data (e.g., system state parameter values or other desired information or both) and represent (e.g., generate as output data) inferences, estimates, or predictions related to the calibration of the quantum computer 102, and the calibration agent 116 can analyze and use these inferences, estimates, or predictions to make various desired decisions related to the calibration of the quantum computer 102. For example, based on the inferences, estimates, or predictions related to the calibration of the quantum computer 102, the calibration agent 116 can determine whether a particular calibration job should be performed, determine whether a particular calibration job will improve (e.g., refine or optimize) system parameters associated with the quantum computer 102 or the performance of the quantum computer 102, or both, determine an order (e.g., sequence) in which to perform the calibration jobs, determine a calibration strategy that includes a group of calibration jobs to be performed in a specified order, or determine a schedule for the execution of the calibration jobs or the calibration strategy, or combinations thereof. Also, based on inferences, estimates, or predictions related to the calibration of the quantum computer 102, the calibration agent 116 may determine one or more monitoring jobs to perform, or updates (e.g., modifications or changes) to the monitoring jobs to perform that may improve detection of anomalies in system parameter values.
[0055] As another example, based on inferences, estimates, or predictions related to the calibration of the quantum computer 102, the calibration agent 116 may determine a policy related to the calibration of the quantum computer, or an update (e.g., a modification or change) to the policy that may improve the performance of the quantum computer. In connection with determining or updating a policy, based on inferences, estimates, or predictions related to the calibration of the quantum computer 102, the calibration agent 116 may determine a benefit or benefit from performing a calibration job or calibration strategy associated with the quantum computer (e.g., an amount of improvement, enhancement, or optimization in the performance of a system parameter, qubit, or quantum computer, or a combination thereof, resulting from performing a calibration job or calibration strategy associated with the quantum computer). Also, based on the inferences, estimates, or predictions related to the calibration of the quantum computer 102, the calibration agent 116 may determine an impact or cost associated with performing a calibration job or calibration strategy associated with the quantum computer (e.g., a time cost associated with performing a calibration job or calibration strategy associated with the quantum computer, an availability cost of the quantum computer associated with the unavailability of the quantum computer due to a calibration being performed on the quantum computer, a resource cost associated with performing a calibration job or calibration strategy associated with the quantum computer, a financial cost associated with performing a calibration job or calibration strategy associated with the quantum computer, or other types of impacts or costs).
[0056] In some embodiments, based on inferences, estimates, or predictions related to the calibration of the quantum computer 102, the calibration agent 116 may determine a value associated with a reward. In that regard, the calibration agent 116 may determine a value associated with a performance reward R p and availability reward R AThe reward value may be determined as a function of the performance reward, as described herein. A performance reward may be a reward for a given action related to the performance of the quantum computer 102 (e.g., qubit fidelity (e.g., qubit gate fidelity, or qubit entangled state fidelity), quantum volume, or other parameter or characteristic associated with the quantum computer 102). An availability reward may be a reward for a given action related to the availability of the quantum computer 102, as described herein. In certain embodiments, the calibration agent 116 may determine a performance reward (e.g., a performance reward value) based on (e.g., as a function of) a benefit or benefit from performing a calibration job or calibration strategy associated with the quantum computer, such that the benefit or benefit has been determined by the calibration agent 116 based on an inference, estimate, or prediction represented by an AI-based model. The calibration agent 116 may also determine an availability reward (e.g., an availability reward value) based on (e.g., as a function of) the impact or cost associated with executing a calibration job or a calibration strategy associated with the quantum computer, where the impact or cost has been determined by the calibration agent 116 based on an inference, estimate, or prediction represented by the AI-based model.
[0057] In other embodiments, based on the inferences, estimates, or predictions related to the calibration of quantum computer 102, CMC 110 may make other desired decisions or inferences, such as those described herein, and / or automate one or more functions or features of the disclosed subject matter (e.g., automate one or more functions or features of or associated with CMC 110 or other devices or components).
[0058] As yet another example to further illustrate the training of an AI-based model and the use of such a model in making calibration-related judgments or decisions, based on the results of the analysis performed on the data by the AI component 908 (e.g., the AI-based model of the AI component 908), and the training of the AI-based model, the AI component 908 (e.g., the AI-based model through its learning and training) may infer or determine that it may be undesirable (e.g., inappropriate or suboptimal) to perform a particular calibration job for a system parameter associated with the quantum computer 102 at a particular time when the system state parameter is a respective state parameter value because the costs associated with performing a particular calibration job at a particular time (e.g., downtime of the quantum computer during calibration, resource costs, financial costs, or other costs) are higher than the benefits derived from performing the particular calibration job at the particular time (e.g., the amount of improvement in the system parameter or performance of the quantum computer). As yet another example, based on the results of the analysis performed on the data by the AI component 908 (e.g., the AI-based model of the AI component 908) and the training of the AI-based model, the AI component 908 may infer or determine a particular order or sequence in which each calibration job associated with each system parameter of the quantum computer should be performed as part of the calibration strategy to achieve a desired amount of benefit associated with executing the calibration strategy relative to the cost associated with executing the calibration strategy (e.g., achieve a highest, or at least a higher, amount of benefit while incurring a relatively minimal or acceptable amount of cost). From such learning, inference, or determination, the calibration agent 116 may determine a desired calibration job and / or calibration strategy, which includes a group of calibration jobs to be performed in a specified order to facilitate calibration of the quantum computer 102 and / or another quantum computer in accordance with the policy (and corresponding calibration management criteria).
[0059] Over time, as calibration agent 116 (e.g., a reinforcement learning agent) becomes more and more desirably trained (e.g., over multiple iterations of performing calibrations associated with the quantum computer, updating policies (e.g., which may further train calibration agent 116), determining or updating a (next) calibration job or calibration strategy, or both, performing calibration jobs or calibration strategies, or performing other calibration related tasks, or a combination thereof), calibration agent 116 may determine calibration jobs and calibration strategies (and policies corresponding to such calibrations) for calibrating quantum computer 102 and / or other quantum computers such that system parameters associated with quantum computer 102 and / or other quantum computers may be desirably calibrated to desirably improve (e.g., refine, improve, or optimize) the system parameters and performance of the quantum computer, while reducing or minimizing the number of calibrations of the quantum computer that need to be performed to maintain desired performance of the quantum computer, and accordingly, while reducing or minimizing the amount of time the quantum computer is unavailable (e.g., by a user) due to calibrations being performed.
[0060] In some embodiments, the CMC 110 may facilitate training of the calibration agent 116 (and / or the AI component 908) by using a simulator component 910 that may perform simulations related to the operation of a quantum computer (e.g., quantum computer 102), including the operation of qubits and other quantum components or circuits, system parameters associated with the quantum computer, execution of monitoring jobs on the quantum computer, execution of calibration strategies on the quantum computer, or other aspects related to simulated operation of the quantum computer. Based on the results of such simulations, the calibration agent 116 (and / or the AI component 908 (e.g., a deep neural network of the AI component 908)) may be trained according to defined calibration management criteria, such as by making decisions regarding which monitoring jobs to perform in a monitoring job set, system state modeling techniques to utilize for system state modeling, calibration jobs or calibration strategies to implement to calibrate the quantum computer, policies, or other calibration related issues or aspects, or combinations thereof. This can facilitate improving (e.g., refining or optimizing) the training of the calibration agent 116 (e.g., reducing the amount of time it takes to train the calibration agent 116, improving the performance of the calibration agent 116), or reducing the amount of time the quantum computer (e.g., quantum computer 102) is unavailable due to calibrations being performed on the quantum computer, or both.
[0061] The AI component 908 can employ various AI or ML based schemes to perform various embodiments / examples disclosed herein. To provide or assist in (e.g., determine, ascertain, infer, calculate, predict, foresee, estimate, derive, forecast, detect, calculate) many of the decisions described herein with respect to the disclosed subject matter, the AI component 908 can examine all or a subset of the data to which the AI component 908 is authorized to access (e.g., data associated with the operation of the quantum computer, system parameters or system state parameters or both associated with the quantum computer, policy information for policies, information related to rewards, information related to actions, metadata, related historical information, or other desired types of information) and can provide inferences regarding or determine the state of the system and / or environment from a set of observations captured via events and / or data. The decisions can be employed to identify a particular situation or action, or can generate, for example, a probability distribution over multiple states. The decisions can be probabilistic, i.e., the calculation of a probability distribution over multiple states of the subject based on a consideration of the data and events. Determination may also refer to techniques employed to create higher level events from a set of events and / or data.
[0062] Such determinations can result in the construction of new events or actions from a set of observed events and / or stored event data, regardless of whether the events are correlated in close temporal proximity and whether the events and data come from one or more event and data sources. The components disclosed herein can employ a variety of classification (classifications explicitly trained (e.g., via training data) and implicitly trained (e.g., via observation of behavior, preferences, historical information, or receipt of external information)) schemes or systems or both (e.g., support vector machines, neural networks, expert systems, Bayesian belief networks, fuzzy logic, or data fusion engines) in connection with performing automated and / or determined actions in connection with the claimed subject matter. Thus, the classification schemes or systems or both can be used to automatically learn and perform multiple functions, actions, or decisions, or combinations thereof.
[0063] A classifier can map an input attribute vector z = (z1, z2, z3, z4, , zn) to confidence that the input belongs to a class, as in f(z) = confidence(class). Such classification can employ probability and / or statistics-based analysis (e.g., considering utility and cost in the analysis) to determine the action to be taken automatically. A support vector machine (SVM) can be an example of a classifier that can be employed. SVMs operate by finding a hypersurface in the space of possible inputs, which hypersurface attempts to separate triggering criteria from non-triggering events. Intuitively, this makes the classification precise for testing data that is close, but not identical to the training data. Other directed or undirected model classification techniques provide various patterns of independence, including, for example, naive Bayes, Bayesian networks, decision trees, neural networks, fuzzy logic models, or probabilistic classification models, or combinations thereof, any of which can be employed. Classification as used herein also is inclusive of statistical regression that is utilized to develop models of priority.
[0064] During or as part of the training of the calibration agent 116, or both, the calibration agent 116 may employ a reward component 912 that may determine (e.g., calculate) a reward (e.g., a reward value) based on a calibration-related reward function and information associated with system parameters associated with the quantum computer 102. The reward may be a reward for a given action associated with the quantum computer 102 (e.g., performing a calibration job or calibration strategy, making a decision that a calibration job is not to be performed, or other type of action), and the reward may be a performance reward R according to a defined calibration management criterion. P and availability reward R A (e.g., depending on the performance reward and the availability reward). Pcan be a reward for a given action related to the performance of the quantum computer 102 (e.g., qubit fidelity (e.g., qubit gate fidelity, or qubit entangled state fidelity), quantum volume, or other parameter or characteristic associated with the quantum computer 102). The reward component 912 can determine the performance reward based on the results of an analysis of a calibration-related performance reward function associated with a system parameter associated with the quantum computer 102, a given action (e.g., a calibration job or calibration strategy, or a decision that no calibration is performed), and information. The performance reward (e.g., a performance reward value or score) can typically be higher or increased if the action taken improves (e.g., refines, improves, or optimizes) the performance of the quantum computer and can typically be lower or decreased if the action taken is determined to not improve, or at least not significantly improve, the performance of the quantum computer.
[0065] Availability reward R AR can be a reward for a given action related to the availability of the quantum computer 102, and the reward component 912 can determine the availability reward based on a given action (e.g., a calibration job or calibration strategy, or a decision that no calibration is to be performed) and information resulting from analyzing an availability reward function related to calibration, associated with a system parameter associated with the quantum computer 102. The availability reward function can take into account the amount of downtime (e.g., unavailability) of the quantum computer due to the time utilized to perform the given action. Typically, for a quantum computer 102 that is more available according to the availability reward function (and calibration management criteria), there can be a higher availability reward (e.g., availability reward value or score), and conversely, if there is a higher unavailability of the quantum computer 102, there can be a relatively lower availability reward. Due to different calibration jobs and different calibration strategies taking different amounts of time to complete, the availability reward R can be determined based on the availability reward function. A is a calibration strategy C or a calibration job C i Or it may be a function of both.
[0066] In particular embodiments, calibration agent 116 may determine an action (e.g., a calibration strategy including a sequence of calibration jobs to be performed) based on a data analysis (e.g., an analysis of system state parameter values or other desired information or both) as described herein. Based on data related to the action (e.g., a calibration strategy) output by calibration agent 116 (e.g., output by an AI-based model of calibration agent 116), calibration agent 116 (e.g., reward component 912 of calibration agent 116) may determine (e.g., calculate), infer, or measure a performance reward and / or an availability reward.
[0067] The calibration agent 116 (e.g., the reward component 912 of the calibration agent 116) can determine a reward (e.g., overall reward) based on (e.g., in response to) the reward function, the performance reward, and the availability reward (e.g., application of the reward function to the performance reward and the availability reward). In particular embodiments, the calibration agent 116 can apply respective (e.g., different) weights (e.g., weighting values) to the performance reward and the availability reward, weighting one of the rewards more heavily or more heavily than the other reward. In other embodiments, the performance reward and the availability reward can be weighted equally to one another. As the training of the calibration agent 116 (e.g., the AI-based model of the calibration agent 116) progresses through iterative training as described herein, the calibration agent 116 using the AI-based model can determine or infer calibration-related actions to take (e.g., perform) that can improve (e.g., increase, maximize, or optimize) the performance reward and the availability reward, and accordingly, can improve the overall reward.
[0068] In a non-limiting exemplary reward scheme, the reward component 912 can determine a reward (e.g., a reward value or score) based on the fidelity of the operation of a quantum circuit performed for a quantum system (e.g., quantum computer 102 or another quantum computer or both). For example, as the error rate increases with respect to one or more metrics of the quantum computer (e.g., the gates / qubits of the quantum computer), a quantum algorithm used by the quantum computer may require additional shots to return a usable result. In this exemplary reward scheme, the reward component 912 can determine a reward (e.g., a performance reward, and accordingly, an overall reward) associated with performing or taking an action based on the amount of a net increase in the overall fidelity of the quantum computer resulting from running a calibration job. For example, a net increase in fidelity can result in a higher performance reward value, and accordingly, a higher overall reward value, and the greater the net increase in fidelity, the higher the performance reward value or the overall reward value or both (e.g., as determined by the reward component 912).
[0069] In another non-limiting exemplary reward scheme, the reward component 912 can determine a reward based on the ability to execute a quantum circuit. For example, the operating parameters of each of the qubits may be used to predict the routing of an expected circuit (e.g., a circuit expected to be operated on the system for a given time) on the quantum system (e.g., the quantum computer 102). In this exemplary reward scheme, the length of such a circuit may vary depending on the fidelity of the qubit and may be limited based on the coherence time of the qubit. In this exemplary reward scheme, the reward component 912 can determine a reward (e.g., a performance reward and / or an overall reward) based on the likelihood (e.g., as inferred, determined, or predicted by the AI component 208) that the quantum computer can execute all the desired circuits for a given time. For example, the more likely it is that the quantum computer can execute all the desired circuits for a given time, the higher the performance reward value and / or the overall reward value (e.g., as determined by the reward component 912). It should be understood that the above example compensation schemes can be performed individually (e.g., by calibration agent 116) or can be performed in some combination with each other, or with other possible compensation schemes, or both.
[0070] In some embodiments, in addition to or as an alternative to utilizing AI-based analyses to facilitate determining a calibration job or calibration strategy and / or other actions to take to facilitate improving the performance of quantum computer 102 and / or other quantum computers, calibration agent 116 may employ decision trees or lookup tables to facilitate determining a desired (e.g., appropriate, improved, or optimal) calibration job or calibration strategy to perform to calibrate quantum computer 102 and / or other quantum computers in accordance with defined calibration management criteria. For example, calibration agent 116 may determine, create, or utilize a decision tree, which can be a tree-like model including various branches and nodes, where the decision tree model can include decisions related to possible calibration job or calibration strategy executions that may be performed and the likely benefits or outcomes of the calibration job or calibration strategy executions. The possible benefits or outcomes may relate, for example, to costs (e.g., resource costs, time costs, or financial costs, or a combination thereof) or utility (e.g., improved or enhanced performance of the quantum computer, or other benefits, or a combination thereof) associated with running a calibration job or calibration strategy. Each node (e.g., a leaf in a tree-like structure) in this model may represent a decision or test that may be made by calibration agent 116 (e.g., run a calibration job associated with a particular system parameter associated with a qubit (e.g., qubit 104) to improve the qubit's performance). Depending on the configuration of the decision tree model, each of those branches may lead to another node.
[0071] With respect to lookup tables, calibration agent 116 may utilize lookup tables to facilitate the determination of a desired (e.g., appropriate, improved, or optimal) calibration job or calibration strategy for calibrating quantum computer 102 or other quantum computers or both in accordance with defined calibration control criteria. For example, the lookup table may include information related to the calibration, such as each item of information related to the calibration, which may be an entry at each location (e.g., cell) in the lookup table. For example, a first entry may be mapped to a second entry in the lookup table, the first entry may include a first subset of system state parameter values associated with a first subset of system state parameters associated with quantum computer 102, and the second entry may include an action to be performed by calibration agent 116 if the first subset of system state parameter values associated with the first subset of system state parameters is identified or detected from the analysis of the system state parameters (e.g., may perform a first calibration job to calibrate a first parameter associated with quantum computer 102). Calibration agent 116 may update the decision tree (e.g., update the nodes, or the structure of the nodes and branches relative to each other, or both) and / or update the lookup table (e.g., update the entries in the cells of the lookup table and / or the mappings between entries in the lookup table) based on the results of a calibration job or calibration strategy performed by calibration agent 116 or feedback information received from a user, which feedback information may relate to a calibration job or calibration strategy associated with the calibration of quantum computer 102 and / or other quantum computers, or the performance of quantum computer 102 and / or other quantum computers.
[0072] Further, with respect to system 100 of FIG. 1, according to various embodiments, CMC 110 may include (as shown) or be associated with processor component 118 that may function in conjunction with other components (e.g., monitoring job component 112, modeler component 114, calibration agent 116, data store 120, or other components) to facilitate performance of various functions of CMC 110. Processor component 118 may use one or more processors, microprocessors, or controllers that may process data, such as circuits (e.g., quantum circuits), qubits, quantum components or devices, system parameters, system state parameters, calibration processes, calibration jobs, calibration strategies, actions, inference processes, functions (e.g., reward-related or other functions), algorithms (e.g., algorithms illustrated or defined by the processes, protocols, methods, or techniques described herein, or combinations thereof, and / or quantum computing algorithms), quantum logic, defined calibration control criteria, traffic flows, policies, protocols, interfaces, information related to tools, or other information, or combinations thereof, to facilitate operation of CMC 110 and control data flow between CMC 110 and other components associated with (e.g., connected to) CMC 110 (e.g., quantum computer component 102, quantum programs, data storage devices, user devices or endpoint devices, interfaces, or other computing or communication devices), as disclosed in further detail herein.
[0073] The CMC 110 may also comprise or be associated with a data store 120 that may store data structures (e.g., user data, metadata), code structures (e.g., modules, objects, hashes, classes, procedures) or instructions, circuitry (e.g., quantum circuits), qubits, quantum components or devices, system parameters, system state parameters, calibration processes, calibration jobs, calibration strategies, actions, inference processes, functions (e.g., reward-related or other functions), algorithms (e.g., algorithms illustrated or defined by the processes, protocols, methods, or techniques described herein, or combinations thereof, and / or quantum computing algorithms), quantum logic, defined calibration control criteria, traffic flows, policies, protocols, interfaces, information related to tools, or other information, or combinations thereof, to facilitate control of operations associated with the CMC 110. In one aspect, the processor component 118 may be operatively coupled to the data store 120 (e.g., via a memory bus) to store and retrieve information that is desired to be manipulated, or to at least partially provide functionality to the monitoring job component 112, the modeler component 114, the calibration agent 116, the data store 120, or other components, or substantially any other operable aspect of the CMC 110, or a combination thereof, or both.
[0074] According to various embodiments, CMC 110 including calibration agent 116 may be utilized to calibrate one or more other quantum computers, such as quantum computer 122 and / or quantum computer 124, based on a calibration strategy, policy, or training of calibration agent 116 determined or derived from CMC 110 performing monitoring jobs, performing system state modeling, determining a calibration job or calibration strategy, determining a policy, performing calibrations on system parameters associated with quantum computer 102, or performing other operations related to quantum computer 102, or any combination thereof. For example, CMC 110 may utilize a calibration strategy determined generally with respect to quantum computer 102 to calibrate system parameters associated with quantum computer 122 and / or quantum computer 124.
[0075] In particular embodiments, calibration agent 116 may determine or infer a desired scheduling strategy for scheduling each calibration of each quantum computer (e.g., 102, 122, or 124, or a combination thereof) at each time to facilitate desirably calibrating each quantum computer while maintaining a desired (e.g., adequate, improved, or optimal) availability of one or more of the quantum computers according to a defined calibration management criterion. For example, calibration agent 116 may determine or infer a desired scheduling strategy for scheduling each calibration of each quantum computer (e.g., 102, 122, or 124, or a combination thereof) such that each quantum computer may be desirably calibrated respectively at each time while ensuring that at least one (or at least a desired number, which may be more than one) of the quantum computers may always (or at least virtually always) be available (e.g., by a user, a classical computer, or another quantum computer, or a combination thereof).
[0076] 10 (in conjunction with FIG. 1), FIG. 10 illustrates a diagram of an example calibration determination process 1000 in accordance with various aspects and embodiments of the disclosed subject matter. A There may be a monitoring job set 1002(M) that includes a set of monitoring jobs,
number
[0077] As indicated by reference numeral 1004 of the example calibration determination process 1000, the monitoring job component 112 may execute monitoring jobs of the monitoring job set 1002 for the quantum computer 102 as described herein and may extract system parameters associated with the quantum computer 102 that may be generated based on the execution of the monitoring job set 1002. As indicated by reference numeral 1006 of the calibration determination process 1000, the monitoring job component 112 may execute monitoring jobs of the monitoring job set 1002 for the quantum computer 102 as described herein. T for the quantum computer 102 over time instances A System parameters (e.g., a desired number N) that may be generated based on (e.g., in response to) the execution of a set of monitoring jobs. T Then, we can create (or reset or update) a parameter buffer P that contains a set of system parameters (parameter values) for a time instance.
[0078] Modeler component 114 can utilize a set of system parameters (e.g., a system parameter buffer P) as a data input to perform system state modeling of the system state of quantum computer 102. As shown at reference numeral 1008 of example calibration determination process 1000, modeler component 114 can analyze the set of system parameters, perform system state modeling on the set of system parameters, and generate a representation of the system state (e.g., χ(P)=S) based on a desired modeling function (χ) or process (e.g., an SPC function or process, a stochastic process function or process, or other desired modeling function or process) as described herein. k (t T For example, based on such analysis and system state modeling, the modeler component 114 may generate T A set of system state parameters S containing each system state parameter (e.g., system state parameter value) in k (t T In some embodiments, the system state parameter values of the system states may be determined and / or generated. S system state parameters (e.g.,
number
[0079] As shown at 1010 in the exemplary calibration determination process 1000, a set of system state parameters S associated with the quantum computer 102 is k (t T) can be input to calibration agent 116, which can analyze the set of system state parameters associated with quantum computer 102 and the calibration-related policies π, and based on the results of such analysis, calibration agent 116 can adjust one or more system parameters (e.g., π(S)) associated with quantum computer 102 to improve the performance of quantum computer 102 in accordance with a defined calibration control criterion, as described herein. k (t T ))=a(t T )) to desirably (e.g., appropriately, improved, or optimally) calibrate (e.g., update or change) T ), the action may include a decision for the quantum computer 102 to perform a calibration job, a calibration strategy, or that a calibration job not be performed. As shown at reference numeral 1012 of the example calibration decision process 1000, the calibration agent 116 may perform a calibration job or a calibration strategy C, determine a reward R, and / or update the policy π, as described in further detail herein.
[0080] At this point, the exemplary calibration determination process 1000 may return to reference numeral 1002 and begin the process 1000 again using the monitoring job set 1002, which may be the same or a different monitoring job set. As disclosed, in some embodiments, the CMC 110 (e.g., the calibration agent 116) may adapt or change one or more monitoring jobs of the monitoring job set 1002 and / or the order of execution of the monitoring jobs based on the training of the calibration agent 116 (e.g., based on a policy) as described herein. For example, based on the training of the calibration agent 116, the calibration agent 116 may determine that a particular monitoring job or order of execution of the monitoring jobs is not sufficiently useful in determining or disclosing whether there is a problem associated with a system parameter associated with the quantum computer 102 (e.g., a problem such as undesirable (e.g., unacceptable, degraded, or suboptimal) performance, inaccuracy, or loss of acceptable calibration). Also, based on the training of the calibration agent 116, the calibration agent 116 may determine different monitoring jobs, or different orders for performing monitoring jobs, that may be more fully useful in determining or disclosing whether there are problems associated with a system parameter associated with the quantum computer 102, or whether a calibration job or calibration strategy related to calibrating the system parameter may improve the performance of the system parameter or the quantum computer 102, or both.As another example, based on the modified monitoring job set (e.g., modifying the monitoring job set to remove a particular monitoring job), the calibration agent 116 may determine (e.g., as part of an action item of the determined action) that a particular monitoring job should be removed from the monitoring job set and that this modified monitoring job set should be executed on the quantum computer 102 to facilitate determining what differences, if any, exist in the system parameter values, the system state parameter values, the calibration jobs determined by the calibration agent 116, the calibration strategy determined by the calibration agent 116, or other determined action.
[0081] In certain embodiments, in addition to feedback information (e.g., information related to a calibration strategy, policy (e.g., updated policy), or reward (e.g., updated reward)) that the CMC 110 (e.g., calibration agent 116) may receive from system 100 (e.g., from AI component 208 or other components of calibration agent 116), the CMC 110 may receive feedback information (such as that shown at reference numeral 1014) related to the calibration of quantum computer 102 from a user via a communication device or interface. The communication device may be, for example, a computer, a mobile phone (e.g., a smartphone), an electronic pad or tablet, or other type of communication device. The feedback information may include positive feedback information, which may indicate that an action or operation performed by calibration agent 116 was beneficial to or improved the performance of a system parameter associated with quantum computer 102 or the overall performance of quantum computer 102, or both. The feedback information may also include negative feedback information, which may indicate that a particular action or operation performed by the calibration agent 116 was not beneficial (e.g., had a negative or detrimental effect) or degraded (e.g., adversely affected) the performance of system parameters associated with the quantum computer 102 and / or the overall performance of the quantum computer 102. The feedback information may also relate to manual calibration of parameters performed by a user and / or the results of manual calibration.
[0082] As an example of user feedback information, the feedback information may indicate whether performing a particular calibration job or calibration strategy on a system parameter has been determined (e.g., by a user, another entity, or another device, such as a classical computer or another quantum computer) to be sufficiently beneficial (e.g., whether it sufficiently improved or enhanced the performance of the system parameter or the quantum computer 102, or both). The feedback information may also indicate whether a particular monitoring job has been determined to be sufficiently useful. The feedback information may indicate whether a particular system state modeling process (e.g., SPC, stochastic process modeling, or direct system state modeling) utilized during a previous iteration of the calibration determination process 1000 has been determined to be beneficial or useful to the same extent that another type of system state modeling process would have been beneficial or useful or is expected to be beneficial or useful. The feedback information may also indicate whether there should be changes made to the execution of a monitoring job, system state modeling, calibration strategy determination, calibration strategy execution, or other aspects of the calibration determination process 1000. The calibration agent 116 (which includes the AI component 908) can analyze information related to an iteration of the calibration decision process 1000 (e.g., the last iteration of the calibration decision process 1000 or other prior (e.g., past) iterations or both) and the feedback information to determine whether to update (e.g., modify, adapt, or change) the monitoring job set, and if so, to update, execute the monitoring jobs, perform system state modeling, make a calibration strategy decision, execute a calibration strategy, or incorporate the feedback information into an analysis (e.g., AI or ML analysis) such that the calibration agent 116 can facilitate the calibration decision process 1000.
[0083] As described herein, calibration agent 116 may be trained to desirably (e.g., appropriately, improved, or optimally) determine calibration jobs and calibration strategies that may be performed to calibrate quantum computer 102 or other quantum computers or both based on the results of an analysis (e.g., performing data analysis, or AI or ML analysis, or both) of system state parameters associated with the quantum computers in accordance with policies (and corresponding calibration controls) or other desired information or both. With reference to FIG. 11 , FIG. 11 illustrates an illustration of an example graph 1100 of simulation results of a simulation associated with qubits of a quantum computer in accordance with various aspects and embodiments of the disclosed subject matter. To test the use of the calibration agent (e.g., a reinforcement learning agent) for calibration, a simulation of a qubit of a quantum computer is performed, and there is a simulation of the error per Clifford (EPC) and T1 for the qubit, which receives discrete values that can be the result of processing with an SPC, stochastic process modeling, or another desired intermediate representation of a parameter buffer of system parameters associated with the quantum computer (e.g., the qubit of the quantum computer). The EPC can be an error value associated with a Clifford gate of a group of Clifford gates associated with a group of qubits. The results of the simulation are shown in exemplary graph 1100, which includes a graph 1102 of EPC (e.g., EPC values per time step) over time, a graph 1104 of reward (e.g., reward values per time step) over time, a graph 1106 of action (e.g., action values per time step) over time, and a graph 1108 of T1 (e.g., T1 values per time step) over time.
[0084] In the simulation, a calibration agent can observe both T1 and epc and can have two available actions: calibrate the system parameters (e.g., a value of 1) or leave the system (e.g., a quantum computer) as is (e.g., a value of 0). The goal of the calibration agent can be to maintain epc at 0, which can indicate that the qubit gates are desirably (e.g., well, adequately, or optimally) calibrated while preventing unnecessary calibration of the qubits. In this simulation, a quantum computing system is modeled with epc that can be a value of 1 for two reasons: (1) a two-level system (TLS) can cause a significant amount of degradation of T1 (e.g., a decrease of at least a defined amount) or (2) calibration of the qubit gates can lead to a defined level of unacceptable performance of the qubit gates. In case (1), performing a calibration (action 1) does not modify (e.g., adjust or correct) the epc, while in case (2), performing a calibration of the system parameters of the qubits associated with the qubit gate may modify the epc. With no penalty for performing a calibration on the qubit parameters, the optimal policy to keep the epc low is to calibrate the qubit parameters at every time step. However, each time a calibration is performed by the calibration agent according to the defined calibration control criterion, the calibration agent must reduce the penalty by a performance reward function R. PAn example graph 1100 (e.g., an example plot) shows how the calibration agent behaves after being trained for about 2000 iterations. In the example graph 1100, it can be observed that the calibration agent learns to calibrate the system parameters associated with the qubits only when T1 is high (e.g., a value of 1) and epc is low (e.g., a value of 0), which can be a desirable (e.g., suitable, improved, or optimal) policy for maintaining qubit and quantum computer performance while reducing (minimizing) the number of calibrations performed on the qubit or quantum computer.
[0085] In some embodiments corresponding to the simulations described above in which the calibration agent learned a desired policy related to determining whether and when to calibrate a system parameter associated with a quantum bit, the calibration agent 116 (e.g., a trained calibration agent) may determine or utilize the following example code or pseudocode that may correspond to such a desired policy: action_bonus=0.0 # if self._active_channels[0]==1 if action==0: # Do not calibrate action_bonus+=1 elif action==1: # Calibrate self.epc_issue=0 # Get the new value (perform an action on the system) self.get_new_vals(action) # Reward based on changes in EPC if action==1: action_bonus-=3*(self.epc-old_epc) reward=action_bonus+(1-self.epc).
[0086] Systems and / or devices are described (or will be described) herein with respect to interactions between multiple components. It should be understood that such systems and components can include those components or subcomponents designated therein, portions of the designated components or subcomponents, or additional components, or combinations thereof. Subcomponents may also be implemented as components that are communicatively coupled to other components rather than being included within a parent component. Furthermore, one or more components and / or subcomponents may be combined into a single component that provides a collective functionality. Components may interact with one or more other components not specifically described herein for brevity but known by those skilled in the art.
[0087] 12 illustrates a flow diagram of an exemplary, non-limiting method 1200 by which a desired calibration strategy for calibrating and improving the performance of a quantum computer can be determined in accordance with various aspects and embodiments of the disclosed subject matter. In some embodiments, the method 1200 can be performed by a CMC and / or processor component, which can be associated with a data store, for example. Repetition of descriptions of similar elements employed in other embodiments described herein may be omitted or omitted for the sake of brevity.
[0088] At 1202, a group of monitoring jobs may be performed on the quantum computer based on the group of data input to the quantum computer. The CMC may input data related to the monitoring jobs to the quantum computer and may perform the group of monitoring jobs on the quantum computer based on the data.
[0089] At 1204, a calibration strategy may be determined that may relate to sequencing the execution of a group of calibration tasks to calibrate at least one system parameter associated with the quantum computer based on input from the group of monitoring jobs or based on a group of system state parameters that may be determined from a group of system parameter values. The CMC using the calibration agent may determine the calibration strategy based on input from the group of monitoring jobs. In some embodiments, the input from the group of monitoring jobs may include a group of system parameter values that may be determined from output data generated by the quantum computer in response to execution of the group of monitoring jobs, or may include a group of system state parameters that may be determined from (or based on) the group of system parameter values. The calibration strategy may relate to sequencing the execution of a group of calibration tasks (e.g., calibration jobs) to calibrate a group of system parameters that include one or more system parameters associated with the quantum computer (e.g., system parameters associated with qubits or other quantum components or circuits of the quantum computer), or a schedule for the calibration of one or more system parameters associated with the quantum computer, or both.
[0090] 13 and 14 show a flow diagram of another exemplary, non-limiting method 1300 that may determine and execute a desired calibration strategy for calibrating and improving the performance of a quantum computer in accordance with various aspects and embodiments of the disclosed subject matter. Method 1300 may be performed, for example, by a CMC and / or processor component that may be associated with a data store. Repetition of descriptions of similar elements employed in other embodiments described herein may be omitted or omitted for the sake of brevity.
[0091] At 1302, a group of monitoring jobs may be performed on the quantum computer based on the group of data input to the quantum computer. The CMC may input data related to the monitoring jobs to the quantum computer and may perform the group of monitoring jobs on the quantum computer based on the data.
[0092] At 1304, a group of system parameter values for the system parameters associated with the quantum computer may be determined based on the execution of the group of monitoring jobs. The CMC may determine or generate the group of system parameter values for the system parameters based on (e.g., in response to) the execution of the group of monitoring jobs for the quantum computer as described herein.
[0093] At 1306, a group of system state parameter values for the system state parameters associated with the quantum computer may be determined based on application of a system state modeling function to the group of system parameter values for the system parameters. The CMC may determine or generate the group of system state parameter values for the system state parameters based on (e.g., in response to) application of a system state modeling function (e.g., an SPC function, a stochastic process modeling function, a trivial system state modeling function, or other desired system state modeling function) to the group of system parameter values for the system parameters, as described herein.
[0094] At 1308, a calibration strategy may be determined based on the group of system state parameters associated with the quantum computer, which may relate to ordering the execution of a group of calibration tasks to calibrate the group of system parameters associated with the quantum computer. The calibration agent may determine the calibration strategy based on the group of system state parameters as described herein. The calibration strategy may relate to ordering the execution of a group of calibration tasks (e.g., calibration jobs) to calibrate the group of system parameters including one or more system parameters associated with the quantum computer (e.g., system parameters associated with qubits or other quantum components or circuits of the quantum computer), or a schedule for the calibration of one or more system parameters associated with the quantum computer, or both. It should be appreciated and understood that in some cases, the calibration strategy may be to have the calibration agent perform a particular calibration job (e.g., a parameter improvement job) for a particular parameter (e.g., for a particular qubit or other quantum component of the quantum computer). In other examples, the calibration strategy may be to not perform any calibration jobs at that time.
[0095] At 1310, a calibration strategy may be executed to perform a group of calibration tasks to calibrate a group of system parameters associated with the quantum computer. The calibration agent may execute the calibration strategy to perform, or facilitate performing, a group of calibration tasks to calibrate a group of system parameters associated with the quantum computer (e.g., one or more qubits, one or more other quantum components, or other quantum circuits of the quantum computer). At this point, method 1300 may proceed to reference point A, and method 1300 may continue from reference point A as shown in FIG. 14 and described herein.
[0096] At 1312, a performance reward for the given action related to the performance of the quantum computer may be determined based on the performance reward function and the evaluation of the given action. The calibration agent may determine a performance reward (e.g., a performance reward value) for the given action (e.g., a calibration job or calibration strategy) related to the performance of the quantum computer based on the performance reward function and the evaluation of the given action (e.g., application of the performance reward function to the given action as part of the evaluation of the given action), where the evaluation of the given action may include the performance of the quantum computer in response to performing the given action (e.g., the relative performance of the quantum computer compared to the performance of the quantum computer before the given action was performed). The performance of the quantum computer may be evaluated based on multiple factors, including fidelity (e.g., fidelity of qubits including qubit gates), quantum volume associated with the quantum computer, or other factors or characteristics related to the performance of the quantum computer.
[0097] At 1314, an availability reward for the given action related to the availability of the quantum computer may be determined based on the availability reward function and an evaluation of the given action. The calibration agent may determine an availability reward (e.g., an availability reward value) for the given action related to the availability of the quantum computer based on the availability reward function and an evaluation of the given action (e.g., application of the availability reward function to the given action as part of the evaluation of the given action). The availability reward function may take into account the amount of downtime (e.g., unavailability) of the quantum computer due to the time utilized to perform the given action, and typically a higher availability reward may be associated (e.g., awarded) with a higher availability of the quantum computer used to perform quantum computing operations and computations.
[0098] At 1316, a reward (e.g., an overall reward) may be determined based on the reward function, the performance reward, and the availability reward. The calibration agent may determine the reward (e.g., an overall reward) based on (e.g., in response to) the reward function, the performance reward, and the availability reward (e.g., application of the reward function to the performance reward and the availability reward). In some embodiments, the calibration agent may apply respective (e.g., different) weights (e.g., weighting values) to the performance reward and the availability reward, weighting one of the rewards more heavily or more heavily than the other reward. In other embodiments, the performance reward and the availability reward may be weighted equally to one another.
[0099] At 1318, a policy indicating which calibration-related actions to perform for a given group of system state parameters may be updated based on the reward or outcome of the execution of the calibration strategy to perform the group of calibration tasks on the quantum computer. The calibration agent may update the policy based on the reward or outcome of the execution of the calibration strategy. In some embodiments, updating the policy that may be utilized by the calibration agent to which calibration-related actions to perform for a given group of system state parameters may be part of training the calibration agent.
[0100] For ease of explanation, methods and / or computer-implemented methods are shown and described as a series of operations. It should be understood and appreciated that the disclosed subject matter is not limited by the operations shown and / or by the order of operations, e.g., operations can occur in various orders, or simultaneously, or both, with other operations not presented and described herein. Moreover, not all operations shown may be required to implement a computer-implemented method in accordance with the disclosed subject matter. In addition, those skilled in the art will understand and appreciate that a computer-implemented method may alternatively be represented as a series of interrelated states or events via a state diagram. It should be further appreciated that the computer-implemented methods disclosed below and throughout this specification may be stored in an article of manufacture to facilitate transporting or transferring such computer-implemented methods to a computer. The term article of manufacture, as used herein, is intended to encompass a computer program accessible from any computer-readable device or computer-readable storage medium.
[0101] Referring now to Figures 15-17, a detailed description of additional background regarding one or more embodiments described herein in Figures 1-14 is provided. Figure 15 and the following description are intended to provide an overview of a suitable operating environment 1500 in which one or more embodiments described herein in Figures 1-14 may be implemented. For example, one or more components or other aspects of the embodiments described herein may be associated with the operating environment 1500, such as being implemented within or accessible via the operating environment 1500. Furthermore, while one or more embodiments are described above in the general context of computer-executable instructions that may be executed on one or more computers, those skilled in the art will recognize that one or more embodiments may also be implemented in combination with other program modules or as a combination of hardware and software, or both.
[0102] Generally, program modules include routines, programs, components, data structures, or the like, or combinations thereof, that perform particular tasks and / or implement particular abstract data types. Furthermore, the methods described above can be practiced using other computer system configurations, including single or multi-processor computer systems, minicomputers, mainframe computers, Internet of Things (IoT) devices, distributed computing systems, as well as computers, handheld computing devices, microprocessor-based or programmable consumer electronics, or the like, or combinations thereof, each of which may be operatively coupled to one or more associated devices.
[0103] A computing device typically includes various media, which may include computer-readable storage media, machine-readable storage media, or communication media, or a combination thereof, and in this specification, the two terms are used differently from each other as follows. A computer-readable storage medium or machine-readable storage medium can be any available storage medium that can be accessed by a computer, and includes both volatile and non-volatile media, removable and non-removable media. By way of example, a computer-readable storage medium or machine-readable storage medium or both may be implemented in association with any method or technology for storage of information, such as, but not limited to, computer-readable and / or machine-readable instructions, program modules, structured and / or unstructured data.
[0104] A computer readable storage medium may include, but is not limited to, random access memory (RAM), read only memory (ROM), electrically erasable programmable read only memory (EEPROM), flash memory or other memory technology, compact disk read only memory (CD-ROM), digital versatile disk (DVD), Blu-ray disc (BD) or other optical disk storage or combinations thereof, magnetic cassettes, magnetic tapes, magnetic disk storage or other magnetic storage devices or combinations thereof, solid state drives or other solid state storage devices, or other tangible and / or non-transitory media that may be used to store the specified information. In this regard, the terms "tangible" or "non-transient" herein, when applied to storage, memory, or computer-readable media, or combinations thereof, should be understood to exclude only propagating, ephemeral signals as modifiers, and not to disclaim any claim to all standard storage, memory, or computer-readable media, or combinations thereof, that are not themselves merely propagating, ephemeral signals. A computer-readable storage medium may be accessed by one or more local or remote computing devices, for example, via access requests, queries, or other data retrieval protocols, or combinations thereof, for various operations on information stored by the medium.
[0105] Communication media typically embodies computer-readable instructions, data structures, program modules, or other structured or unstructured data in a data signal, such as a modulated data signal (e.g., carrier wave or other transport mechanism), and includes any information delivery or transport media. The term "modulated data signal" or "modulated data signal" refers to a signal that has one or more of its characteristics set and / or changed in such a manner as to encode information in the signal or signals. By way of example, and not limitation, communication media may include wired media, such as a wired network or direct-wired connection, or wireless media, such as acoustic, RF, infrared, or other wireless media, or combinations thereof.
[0106] 15, an exemplary operating environment 1500 for implementing one or more embodiments of the aspects described herein can include a computer 1502 including a processing unit 1506, a system memory 1504, and / or a system bus 1508. One or more aspects of the processing unit 1506 can be applied to a processor, such as the processor component 118 of the non-limiting system 100. The processing unit 1506 can be implemented in combination with a processor, such as the processor component 118, or in place of a processor, or both.
[0107] Memory 1504 can store components and / or instructions that can be read, written, or executed, or a combination thereof, by one or more computers and / or machines, which, when executed by processing unit 1506 (e.g., a classical processor, a quantum processor, or the like, or a combination thereof), can facilitate performance of operations defined by the executable components and / or instructions. For example, memory 1504 can store components and / or instructions that can be read, written, or executed, or a combination thereof, by a computer and / or machine, which, when executed by processing unit 1506, can facilitate performance of one or more functions described herein in connection with non-limiting system 100, as described herein with or without reference to one or more figures of one or more embodiments.
[0108] The memory 1504 may include volatile memory (e.g., random access memory (RAM), static RAM (SRAM), dynamic RAM (DRAM), or the like, or a combination thereof) and / or non-volatile memory (e.g., read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or the like, or a combination thereof), which may employ one or more memory architectures.
[0109] The processing unit 1506 may include one or more types of processors and / or electronic circuitry (e.g., classical, quantum, or similar processors, or a combination thereof) that may implement components and / or instructions that may be stored in the memory 1504 that may be readable, written, and / or executed by one or more computers and / or machines. For example, the processing unit 1506 may perform one or more operations, including but not limited to, logic, control, input / output (I / O), arithmetic, and the like, or a combination thereof, that may be specified by components and / or instructions that may be readable, written, and / or executed by a computer and / or machine. In one or more embodiments, the processing unit 1506 may be any of one or more commercially available processors. In one or more embodiments, the processing unit 1506 may include one or more central processing units, multi-core processors, microprocessors, dual microprocessors, microcontrollers, system on a chip (SOC), array processors, vector processors, quantum processors, or other types of processors, or combinations thereof. Examples of the processing unit 1506 may be employed to implement one or more embodiments described herein.
[0110] The system bus 1508 may couple system components, including but not limited to the system memory 1504, to the processing unit 1506. The system bus 1508 may comprise one or more types of bus structures that may be further interconnected to a memory bus (with or without a memory controller), a peripheral bus, or a local bus, or combinations thereof, using one or more of a variety of commercially available bus architectures. The system memory 1504 may include a ROM 1510 and / or a RAM 1512. A basic input / output system (BIOS) may be stored in a non-volatile memory, such as a ROM, an erasable programmable read-only memory (EPROM), or an EEPROM, or combinations thereof, and the BIOS contains basic routines that help transfer information between elements within the computer 1502, such as during start-up. The RAM 1512 may include a high-speed RAM, such as a static RAM, for caching data.
[0111] The computer 1502 may include an internal hard disk drive (HDD) 1514 (e.g., EIDE, SATA), one or more external storage devices 1516 (e.g., a magnetic floppy disk drive (FDD), a memory stick or flash drive reader, a memory card reader, or the like, or a combination thereof), or a drive 1520 (e.g., a solid state drive or optical disk drive that can read from or write to a disk 1522, such as a CD-ROM disk, a DVD, a BD, or the like, or a combination thereof). Additionally and / or alternatively, if a solid state drive is included, the disk 1522 may not be included unless it is separate. Although the internal HDD 1514 is shown as being within the computer 1502, the internal HDD 1514 may also be configured for use within an external suitable enclosure (not shown). Additionally, although not shown in the operating environment 1500, a solid state drive (SSD) may be used in addition to or in place of the HDD 1514. The HDD 1514, the external storage device 1516, and the drive 1520 may be connected to the system bus 1508 by an HDD interface 1524, an external storage interface 1526, and a drive interface 1528, respectively. The HDD interface 1524 for external drive implementations may include at least one or both of Universal Serial Bus (USB) interface technology and Institute of Electrical and Electronics Engineers (IEEE) 1394 interface technology. Other external drive connection technologies are within the contemplation of the embodiments described herein.
[0112] The drives and their associated computer-readable storage media provide non-volatile storage of data, data structures, computer-executable instructions, and the like. The drives and storage media of the computer 1502 accommodate the storage of any data in a suitable digital format. Although the above description of computer-readable storage media refers to various storage devices, other types of storage media that can be read by a computer, whether currently existing or developed in the future, may also be used within the exemplary operating environment, and / or any such storage media may include computer-executable instructions for performing the methods described herein.
[0113] A number of program modules, including an operating system 1530, one or more applications 1532, other program modules 1534, and / or program data 1536, may be stored in the drives and RAM 1512. All or portions of the operating system, applications, modules, and / or data may be cached in RAM 1512. The systems and / or methods described herein may be implemented using one or more commercially available operating systems and / or combinations of operating systems.
[0114] The computer 1502 may optionally include emulation technology. For example, a hypervisor (not shown) or other intermediary may emulate the hardware environment of the operating system 1530, and the emulated hardware may optionally be different than the hardware shown in FIG. 15. In a related embodiment, the operating system 1530 may include one of a number of virtual machines (VMs) hosted on the computer 1502. Additionally, the operating system 1530 may provide a runtime environment, such as the JAVA® runtime environment or the .NET framework, to the application 1532. The runtime environment is a consistent execution environment that may allow the application 1532 to run on any operating system that includes the runtime environment. Similarly, the operating system 1530 may support containers, and the application 1532 may be in the form of a container, which is a lightweight, standalone, executable software package that includes, for example, code, runtime, system tools, system libraries, and / or settings for the application.
[0115] Additionally, computer 1502 may be enabled with a security module, such as a trusted processing module (TPM). For example, with a TPM, a boot component may hash the next boot component in time and wait for a match of the hash result with a protected value before loading the next boot component. This process may occur at any layer within the code execution stack of computer 1502, for example, applied at the application execution level or at the operating system (OS) kernel level, or both, thereby enabling security at any level of code execution.
[0116] An entity may input and / or send commands and / or information to the computer 1502 via one or more wired / wireless input devices (e.g., a keyboard 1538, a touch screen 1540, and / or a pointing device such as a mouse 1542). Other input devices (not shown) may include a microphone, an infrared (IR) remote control, a radio frequency (RF) remote control, or other remote control, or a combination thereof, a joystick, a virtual reality controller or headset, or both, a game pad, a stylus, an image input device (e.g., a camera), a gesture sensor input device, a visual movement sensor input device, an emotion or face detection device, a biometric input device (e.g., a fingerprint or iris scanner, or both), or the like, or a combination thereof. These and other input devices may be connected to the processing unit 1506 via an input device interface 1544 which may be coupled to the system bus 1508, but may also be connected by other interfaces, such as a parallel port, an IEEE 1394 serial port, a game port, a USB port, an IR interface, a BLUETOOTH® interface, or the like, or combinations thereof.
[0117] A monitor 1546 or other type of display device may alternatively and / or additionally be connected to the system bus 1508 via an interface, such as a video adapter 1548. In addition to the monitor 1546, a computer typically includes other peripheral output devices (not shown), such as speakers, printers, or the like, or a combination thereof.
[0118] The computer 1502 can operate in a networked environment using logical connections via wired and / or wireless communications to one or more remote computers, such as a remote computer 1550. The remote computer 1550 can be a workstation, a server computer, a router, a desktop computer, a portable computer, a microprocessor-based entertainment device, a peer device, or other common network node, or a combination thereof, and typically includes many or all of the elements described relative to the computer 1502, although for simplicity only a memory / storage device 1552 is shown. Additionally and / or alternatively, the computer 1502 may be communicatively coupled (e.g., communicatively, electrically, operatively, optically, or the like, or a combination thereof) to one or more external systems, sources, or devices (e.g., classical and / or quantum computing devices, communication devices, or the like, or a combination thereof) via a data cable (e.g., a High-Definition Multimedia Interface (HDMI), recommended standard (RS) 232, Ethernet cable, or the like, or a combination thereof).
[0119] In one or more embodiments, the network may include one or more wired and / or wireless networks, including, but not limited to, a cellular network, a wide area network (WAN) (e.g., the Internet), or a local area network (LAN). For example, one or more embodiments described herein may be used in conjunction with wireless fidelity (Wi-Fi®), global system for mobile communications (GSM), universal mobile telecommunications system (UMTS), worldwide interoperability for microwave access (WiMAX®), enhanced general packet radio service (enhanced GPRS), third generation partnership project (3GPP) long term evolution (LET), third generation partnership project 2 (3GPP2) ultra mobile broadband (UMB), high speed packet access (HSPA), Zigbee, and other 802.11b standards.XX The device may communicate with (and vice versa) one or more external systems, sources, or devices (e.g., computing devices) or any combination thereof using virtually any specified wired or wireless technology, including, but not limited to, wireless and / or legacy communications technologies, BLUETOOTH®, Session Initiation Protocol (SIP), ZIGBEE®, RF4CE protocol, WirelessHART® protocol, IPv6 over Low power Wireless Area Networks (6LoWPAN), Z-Wave®, ANT, ultra-wideband (UWB) standard protocols, and / or other proprietary and / or non-proprietary communications protocols. In a related example, one or more embodiments described herein may include hardware (e.g., a central processing unit (CPU), a transceiver, a decoder, quantum hardware, a quantum processor, or the like, or a combination thereof), software (e.g., a set of threads, a set of processes, running software, a quantum pulse schedule, a quantum circuit, a quantum gate, or the like, or a combination thereof), or hardware or software or both, or a combination thereof, that facilitates the transfer of information between one or more embodiments described herein and an external system, source, or device (e.g., a computing device, a communication device, or the like, or a combination thereof).
[0120] The logical connections depicted in the diagram include wired / wireless connections to a local area network (LAN) 1554 or larger networks, such as a wide area network (WAN) 1556. LAN and WAN networking environments may be commonplace in offices and companies and may facilitate enterprise-wide computer networks, such as an intranet, all of which may connect to a global communications network (e.g., the Internet).
[0121] When used in a LAN networking environment, the computer 1502 may be connected to the local network 1554 via a wired and / or wireless communication network interface or adapter 1558. The adapter 1558 may facilitate wired and / or wireless communication with the LAN 1554, which may also include a wireless access point (AP) arranged to communicate with the adapter 1558 in a wireless mode.
[0122] When used in a WAN network environment, the computer 1502 may include a modem 1560 or may be connected to a communications server on the WAN 1556 by other means for establishing communications over the WAN 1556, such as via the Internet, or both. The modem 1560, which may be a wired and / or wireless device that is internal and / or external, may be connected to the system bus 1508 via the input device interface 1544. In a network environment, program modules depicted relative to the computer 1502 or portions thereof may be stored in a remote memory / storage device 1552. The network connections shown are merely examples and one or more other means of establishing a communications link between the computers may be used.
[0123] When used in either a LAN or WAN network environment, the computer 1502 may access a cloud storage system or other network-based storage system, such as, but not limited to, a networked virtual machine, that provides one or more aspects of information storage and / or processing in addition to or in place of the external storage device 1516 as previously described, when used in either a LAN or WAN network environment. In general, a connection between the computer 1502 and the cloud storage system may be established via the LAN 1554 or the WAN 1556, for example, by an adapter 1558 or a modem 1560, respectively. Upon connecting the computer 1502 to an associated cloud storage system, the external storage interface 1526 may manage the storage provided by the cloud storage system as well as other types of external storage, such as by using the adapter 1558 or the modem 1560, or both. For example, the external storage interface 1526 may be configured to provide access to the cloud storage sources as if the cloud storage sources were physically connected to the computer 1502.
[0124] The computer 1502 may be operable to communicate with any wireless device or entity operatively disposed in wireless communication (e.g., a printer, a scanner, a desktop computer or portable computer or both, a portable data assistant, a communications satellite, a telephone, or any piece or location of equipment associated with a wirelessly detectable tag (e.g., a kiosk, a newsstand, a store shelf, or the like, or any combination thereof)). This communication may include Wireless Fidelity (Wi-Fi) and BLUETOOTH® wireless technologies. Thus, this communication may be of a predefined structure, similar to a conventional network, or may simply be an ad-hoc communication between at least two devices.
[0125] Example embodiments described herein may be employed in conjunction with distributed computing environments (e.g., cloud computing environments), such as described below with respect to Figure 16, where certain tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in local and / or remote memory storage devices.
[0126] For example, one or more embodiments or one or more components of the embodiments described herein may employ one or more computational resources of a cloud computing environment 1650 described below with reference to the system 1600 of FIG. 16, or with reference to one or more functional abstraction layers (e.g., quantum software, or the like, or both) described below with reference to FIG. 17, to perform one or more operations in accordance with one or more embodiments described herein. For example, cloud computing environment 1650, or one or more of functional abstraction layers 1760, 1770, 1780, or 1790, or combinations thereof, may include one or more classical computing devices (e.g., classical computers, classical processors, virtual machines, servers, or the like, or combinations thereof), quantum hardware, or quantum software, or combinations thereof (e.g., quantum computing devices, quantum computers, quantum processors, quantum circuit simulation software, superconducting circuits, or the like, or combinations thereof) that may be employed by one or more embodiments or components of embodiments described herein to perform one or more operations in accordance with one or more embodiments described herein. For example, one or more embodiments and / or components of embodiments described herein may use such one or more classical and / or quantum computing resources to perform one or more classical and / or quantum mathematical functions, calculations, or equations, or combinations thereof, computational or processing scripts, or both, algorithms, models (e.g., artificial intelligence (AI) models, machine learning (ML) models, or similar models, or combinations thereof), or other operations in accordance with one or more embodiments described herein, or combinations thereof.
[0127] Although one or more embodiments described herein include detailed descriptions of cloud computing, it should be understood that implementation of the subject matter presented herein is not limited to a cloud computing environment. Rather, one or more embodiments described herein may be implemented in conjunction with any other type of computing environment now known or later developed.
[0128] Cloud computing is a service delivery model for enabling convenient, on-demand network access to a shared pool of configurable computational resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and / or services) and for rapidly provisioning and releasing these resources with minimal administrative effort or interaction with the service provider. This cloud model can include at least five characteristics, at least three service models, and at least four deployment models.
[0129] The features are as follows:
[0130] On-Demand Self-Service: Cloud consumers can unilaterally provision computing capabilities, such as server time and network storage, automatically as needed, without the need for human interaction with the service provider.
[0131] Broad network access: Capabilities are available over the network and can be accessed using standard mechanisms, facilitating use by heterogeneous thin-client or thick-client platforms (e.g., cell phones, laptops, and PDAs).
[0132] Resource Pool: The provider's computing resources are pooled and offered to multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically allocated and reallocated according to demand. Consumers typically have a sense of location independence in that they have no control or knowledge regarding the exact location of the resources offered to them, although at a higher level of abstraction they can specify a location (e.g., country, state, and / or data center).
[0133] Rapid Elasticity: Capacity can be rapidly and elastically provisioned automatically in one or more instances, quickly scaled out, and quickly released to quickly scale in. Capacity available for provisioning can appear unlimited to the consumer, and any amount can be purchased at any time.
[0134] Metered Services: Cloud systems leverage metering capabilities to automatically control and optimize resource usage at one or more levels of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and / or active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency to both providers and consumers of the services utilized.
[0135] The service model is as follows:
[0136] SaaS (Software as a Service): The capability provided to the consumer is the use of the provider's applications running on a cloud infrastructure. Those applications can be accessed from a variety of client devices through thin-client interfaces such as web browsers (e.g., web-based email). The consumer does not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, storage, or individual application functionality, or any combination thereof, except for the possibility of limited user-specific application configuration settings.
[0137] PaaS (Platform as a Service): The capability provided to a customer is to deploy applications that the customer creates or acquires, written using programming languages and tools supported by the provider, onto a cloud infrastructure. The customer does not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, and / or storage, but does have control over the deployed applications and, in some cases, the configuration of the application hosting environment.
[0138] Infrastructure as a Service (IaaS): The capability provided to a customer is the provisioning of processing, storage, network, or other basic computing resources, or a combination thereof, onto which the customer can deploy and run any software, which may include operating systems and applications. The customer does not manage or control the underlying cloud infrastructure, but has control over the operating systems, storage, deployed applications, and / or in some cases limited control over selected network components (e.g., host firewalls).
[0139] The deployment model is as follows:
[0140] Separate Cloud: This cloud infrastructure is operated solely for the organization. It can be managed by the organization or a third party and can exist on-premise or off-premise.
[0141] Community Cloud: This cloud infrastructure is shared by multiple organizations to support a specific community that has a shared concern (e.g., mission, security requirements, policy and / or compliance considerations). It can be managed by the organization or a third party and can reside on-premise or off-premise.
[0142] Public Cloud: The cloud infrastructure is made available to the general public or large industry organizations and is owned by an organization that sells cloud services.
[0143] Hybrid Cloud: The cloud infrastructure remains a unique entity, but is a composite of two or more clouds (individual, community, or public) joined by standardized or proprietary technologies that enable data and application portability (e.g., cloud bursting for load balancing between clouds).
[0144] A cloud computing environment is a service-oriented environment with an emphasis on statelessness, loose coupling, modularity, and / or semantic interoperability. At the heart of cloud computing is an infrastructure that contains a network of interconnected nodes.
[0145] Additionally, the non-limiting system 100 and / or the exemplary operating environment 1500 may be associated with and / or included in a data analysis system, a data processing system, a graph analysis system, a graph processing system, a big data system, a social network system, a voice recognition system, an image recognition system, a graphical modeling system, a bioinformatics system, a data compression system, an artificial intelligence system, an authentication system, a syntactic pattern recognition system, a medical system, a health monitoring system, a network system, a computer network system, a communication system, a router system, a server system, a high availability server system (e.g., a telecommunications server system), a web server system, a file server system, a data server system, a disk array system, a powered insertion board system, a cloud-based system, or the like, or any combination thereof. Accordingly, the non-limiting system 100, and / or the exemplary operating environment 1500, may be employed using hardware and / or software to solve problems that are highly technical in nature that are not abstract and / or cannot be implemented as a series of mental activities by a human being.
[0146] Referring now to details of one or more aspects depicted in FIG. 16, an exemplary cloud computing environment 1650 is illustrated. As depicted, the cloud computing environment 1650 includes one or more cloud computing nodes 1610 with which local computing devices used by cloud customers (e.g., a mobile phone 1654A, a desktop computer 1654B, a laptop computer 1654C, or an automobile computer system 1654N, or combinations thereof) can communicate. Although not depicted in FIG. 16, the cloud computing nodes 1610 can further comprise a quantum platform (e.g., a quantum computer, quantum hardware, quantum software, or the like, or combinations thereof) with which local computing devices used by cloud customers can communicate. The cloud computing nodes 1610 can communicate with each other. These nodes can be physically or virtually grouped (not depicted) in one or more networks, such as the aforementioned individual clouds, community clouds, public clouds, or hybrid clouds, or combinations thereof. This allows the cloud computing environment 1650 to provide an infrastructure, platform, and / or SaaS that does not require cloud consumers to maintain resources on local computing devices. It is understood that the types of computing devices 1654A-N shown in Figure 16 are intended to be exemplary only, and that the cloud computing node 1610 and cloud computing environment 1650 can communicate with any type of computer-controlled device via any type of network and / or network-addressable connection (e.g., a connection using a web browser).
[0147] Referring now to details of one or more aspects depicted in FIG. 17, a set of functional abstraction layers 1700 as provided by cloud computing environment 1650 (FIG. 16) is shown. One or more embodiments described herein may be accessible by or associated with one or more functional abstraction layers (e.g., hardware and software layer 1760, virtualization layer 1770, management layer 1780, and / or workload layer 1790) described below with reference to FIG. 17. It should be understood in advance that the components, layers, and / or combinations thereof depicted in FIG. 17 are intended to be illustrative only and that the embodiments described herein are not limited thereto. As depicted in the figure, the following layers and / or corresponding functions are provided:
[0148] The hardware and software layer 1760 may include hardware and software components. Examples of hardware components include mainframes 1761, Reduced Instruction Set Computer (RISC) architecture based servers 1762, servers 1763, blade servers 1764, storage devices 1765, and / or networks and / or network components 1766. In one or more embodiments, the software components may include network application server software 1767, quantum platform routing software 1768, and / or quantum software (not shown in FIG. 17).
[0149] The virtualization layer 1770 may comprise an abstraction layer that may provide instances of virtual entities such as virtual servers 1771, virtual storage 1772, virtual networks 1773, virtual applications and / or operating systems 1774, and / or virtual clients 1775, or combinations thereof.
[0150] In one example, the management layer 1780 can provide the functionality described below. Resource provisioning 1781 can provide dynamic procurement of computational and other resources that can be utilized to execute tasks within the cloud computing environment. Metering and pricing 1782 can provide cost tracking and / or billing and / or invoicing for the utilization of resources within the cloud computing environment. In one example, the resources can include one or more application software licenses. Security can provide identity verification of cloud consumers and / or tasks, as well as protection of data and / or other resources. User (or entity) portal 1783 can provide consumers and system administrators with access to the cloud computing environment. Service level management 1784 can provide allocation and / or management of cloud computational resources to meet required service levels. Service level agreement (SLA) planning and execution 1785 can provide advance provisioning and procurement of cloud computational resources in anticipation of upcoming demands and in accordance with SLAs.
[0151] The workload layer 1790 may represent examples of functionality available in a cloud computing environment. Non-limiting examples of workloads and functionality that may be provided from this layer include mapping and navigation 1791, software development and lifecycle management 1792, virtual classroom instructional delivery 1793, data analytics processing 1794, transaction processing 1795, or application transformation software 1796, or any combination thereof.
[0152] One or more embodiments may be a system, a method, an apparatus, or a computer program product, or combinations thereof, at any possible level of technical detail of integration. The computer program product may include one or more computer readable storage media having computer readable program instructions for causing a processor to perform aspects of one or more embodiments. A computer readable storage medium may be a tangible device capable of holding and storing instructions for use by an instruction execution device. A computer readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. A non-exhaustive list of more specific examples of computer readable storage media may include portable computer diskettes, hard disks, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disk read only memory (CD-ROM), digital versatile disk (DVD), memory stick, floppy disk, mechanically encoded devices such as punch cards or ridges in a groove structure on which instructions are recorded, and any suitable combinations of these. As used herein, computer readable storage media should not be construed as being signals that are themselves ephemeral, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., light pulses passing through a fiber optic cable), or electrical signals transmitted over wires.
[0153] The computer readable program instructions described herein can be downloaded from the computer readable storage medium to each computing / processing device or to an external computer or external storage device over a network, such as the Internet, a local area network, a wide area network, or a wireless network, or a combination thereof. The network can comprise copper transmission cables, optical transmission fiber, wireless transmission, routers, firewalls, switches, gateway computers, or edge servers, or a combination thereof. A network adapter card or network interface in each computing / processing device receives the computer readable program instructions from the network and forwards the computer readable program instructions for storage on the computer readable storage medium in each computing / processing device. The computer readable program instructions for carrying out the operations of the disclosed subject matter can be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, configuration data for an integrated circuit, or source or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk®, C++, and procedural programming languages such as the "C" programming language or similar programming languages. The computer readable program instructions can execute entirely on the user's computer, partially on the user's computer, as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server.In the latter scenario, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or wide area network (WAN), or the connection can be made to an external computer (e.g., through the Internet using an Internet Service Provider). In some embodiments, to perform aspects of the disclosed subject matter, electronic circuitry, including, for example, programmable logic circuits, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), can execute computer-readable program instructions to personalize the electronic circuitry by utilizing state information of the computer-readable program instructions.
[0154] Aspects of the disclosed subject matter are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present disclosure. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks included in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions. These computer-readable program instructions can be provided to a processor of a general purpose computer, a special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions executed by a processor of the computer or other programmable data processing apparatus produce a method that performs the functions / operations specified in one or more blocks of the flowcharts and / or block diagrams. These computer-readable program instructions can also be stored on a computer-readable storage medium and can instruct a computer, programmable data processing apparatus, or other device, or combination thereof, to function in a particular manner, such that the computer-readable storage medium on which the instructions are stored comprises an article of manufacture including instructions that perform aspects of the functions / operations specified in one or more blocks of the flowcharts and / or block diagrams. The computer-readable program instructions may be loaded into a computer, other programmable data processing apparatus, or other device to generate a computer-implemented process such that the instructions, which execute on a computer, other programmable apparatus, or other device, perform the functions / operations specified in one or more blocks of the flowcharts and / or block diagrams, and cause a series of operable operations to be performed on the computer, other programmable apparatus, or other device.
[0155] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the disclosed subject matter. In this regard, each block in the flowcharts or block diagrams may represent a module, segment, or portion of instructions, including one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions shown in the blocks may occur in a different order than that shown in the figures. For example, depending on the functionality involved, two blocks shown in succession may be executed substantially simultaneously, or the blocks may be executed in reverse order, as the case may be. It should also be noted that each block of the block diagrams and / or flowchart illustrations, and combinations of blocks in the block diagrams and / or flowchart illustrations, may be implemented by a special-purpose hardware-based system that performs the specified functions or actions or executes a combination of special-purpose hardware and computer instructions.
[0156] Although the subject matter has been described above in the general context of computer-executable instructions for a computer program product executing on one or more computers, or both, those skilled in the art will recognize that the disclosure may also be implemented in combination with other program modules. Generally, program modules include routines, programs, components, data structures, etc. that perform particular tasks and / or implement particular abstract data types. Furthermore, those skilled in the art will recognize that the computer-implemented methods disclosed herein may be practiced using other computer system configurations, including single-processor or multi-processor computer systems, minicomputing devices, mainframe computers, as well as computers, handheld computing devices (e.g., PDAs, phones), microprocessor-based or programmable consumer or industrial electronics, and the like. The illustrated aspects may also be practiced in a distributed computing environment, where tasks are performed by remote processing devices linked through a communications network. However, some, if not all, aspects of the disclosure may be practiced on stand-alone computers. In a distributed computing environment, program modules may be located in local and remote memory storage devices.
[0157] As used in this application, terms such as "component," "system," "platform," "interface," and the like, can refer to and / or include a computer-related or operable machine-related entity that includes one or more specific functions. The entities disclosed herein can be either hardware, a combination of hardware and software, software, or software in execution. For example, a component can be, but is not limited to, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, or a computer, or combinations thereof. By way of example, both an application running on a server and the server can be a component. One or more components can reside within a process and / or a thread of execution, and a component can be localized on one computer or distributed between two or more computers, or / and. In another example, each component can execute from various computer readable media having various data structures stored thereon. A component may communicate via local and / or remote processes, such as according to a signal containing one or more data packets (e.g., data from one component communicating via a signal with another component in a local system, in a distributed system, or with other systems via a network such as the Internet, or both). As another example, a component may be a device having a specific function provided by mechanical parts operated by electrical or electronic circuits, and operated by a software or firmware application executed by a processor. In such cases, the processor may be internal or external to the device and may execute at least a portion of the software or firmware application.As yet another example, a component can be a device that provides a particular function through electronic components that do not include mechanical parts, and those electronic components can include a processor or other method for executing software or firmware that provides at least a portion of the functionality of the electronic component. In one aspect, a component can emulate an electronic component through a virtual machine, for example, in a cloud computing system.
[0158] In addition, the term "or" is intended to mean an inclusive or rather than an exclusive or. That is, unless otherwise specified or clear from the context, "X employs A or B" is intended to mean any of the natural inclusive permutations. That is, if X employs A, X employs B, or X employs both A and B, then "X employs A or B" is satisfied according to any of the foregoing cases. Furthermore, the articles "a" and "an" used in this specification and the accompanying drawings should generally be construed to mean "one or more" unless otherwise specified or clear from the context to cover the singular form. As used herein, the terms "example" and / or "exemplary" are used to mean serving as an example, instance, or illustration. For the avoidance of doubt, the subject matter disclosed herein is not limited by such examples. Additionally, any aspect or design described herein as "example" and / or "exemplary" is not necessarily to be construed as preferred or advantageous over other aspects or designs, and is not intended to exclude equivalent exemplary structures and techniques known to those skilled in the art.
[0159] As used herein, the term "processor" may refer to virtually any computing unit or device, including, but not limited to, single-core processors, single processors with software multithreaded execution capabilities, multi-core processors, multi-core processors with software multithreaded execution capabilities, multi-core processors with hardware multithreading techniques, parallel platforms, and parallel platforms with distributed shared memory. Additionally, a processor may refer to an integrated circuit, an application specific integrated circuit (ASIC), a digital signal processor (DSP), a field programmable gate array (FPGA), a programmable logic controller (PLC), a complex programmable logic device (CPLD), discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. Additionally, a processor may utilize nanoscale architectures, such as, but not limited to, molecular and quantum dot-based transistors, switches, and gates, to optimize space utilization and improve performance of user equipment. A processor may also be implemented as a combination of computing units. In this disclosure, terms such as "store," "storage," "data store," "data storage," "database," and substantially any other information storage component that relate to the operation and functionality of the component are used to refer to a "memory component," an entity embodied in a "memory," or a component that comprises a memory.It should be understood that the memory and / or memory components described herein can be either volatile or non-volatile memory, or can include both volatile and non-volatile memory. Examples of non-volatile memory can include, but are not limited to, read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable ROM (EEPROM), flash memory, or non-volatile random access memory (RAM) (e.g., ferroelectric RAM (FeRAM)). Volatile memory can include RAM, which can act as, for example, external cache memory. For example, RAM is available in many forms, including, but not limited to, synchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), direct Rambus RAM (DRRAM), direct Rambus dynamic RAM (DRDRAM), and Rambus dynamic RAM (RDRAM). Additionally, the memory components of the systems or computer-implemented methods disclosed herein are intended to include memory, including, but not limited to, these and any other suitable types of memory.
[0160] The foregoing includes merely examples of systems and computer-implemented methods. Of course, for purposes of describing this disclosure, it is not possible to describe every conceivable combination of components or computer-implemented methods, but one skilled in the art will recognize that many further combinations and permutations of the present disclosure are possible. Furthermore, to the extent that terms such as "including," "having," "owning," and the like are used in the detailed description, claims, appendices, and drawings, they are intended to be inclusive in a manner similar to the term "comprising," as "comprising" is interpreted when used as a transitional term in the claims. The description of the various embodiments is presented for illustrative purposes, but is not intended to be exhaustive, and is not limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terms used herein have been selected to best describe the principles, practical applications, or technical improvements over the art found in the marketplace of the embodiments, or to enable other skilled in the art to understand the embodiments disclosed herein.
Claims
1. 1. A system comprising: a memory for storing computer executable components; a processor operatively coupled to the memory for executing computer-executable components; the computer executable components comprising: a monitoring job component that executes groups of monitoring jobs on the quantum computer based on groups of data input to the quantum computer; a calibration agent that determines a calibration strategy relating to ordering the execution of a group of calibration tasks for calibrating at least one parameter associated with the quantum computer based on input from the group of monitoring jobs; Including, the system.
2. 2. The system of claim 1, wherein the calibration agent performs groups of calibrations on a group of quantum computers that includes the quantum computer at groups of time instances based on the calibration strategy, and the calibration strategy reduces an amount of downtime of the group of quantum computers for performing the groups of calibrations on the group of quantum computers.
3. the input from the group of monitoring jobs includes a group of parameter values including a respective parameter value for each parameter at each time instance, and the computer-executable component:
3. The system of claim 1, further comprising: a modeler component that determines, at a given time instance, each quantum computer system state parameter value associated with the quantum computer based on the group of parameter values determined from output data generated by the quantum computer in response to the execution of the group of monitoring jobs, wherein the group of quantum computer system state parameter values models each state of the quantum computer associated with each of the parameters, and the group of quantum computer system state parameter values includes each of the quantum computer system state parameter values.
4. 4. The system of claim 3, wherein the calibration agent determines the calibration strategy for the calibration of the quantum computer, the determination comprising: determining a group of items to calibrate based on the group of quantum computer system state parameter values; determining a respective ordering of execution of calibration tasks for calibrating each item of the group of items; or determining a schedule for the calibration of the group of items associated with the quantum computer, the group of items including qubits or pairs of qubits of the quantum computer or a portion of the parameters associated with the quantum computer, the portion of the parameters including the at least one parameter.
5. 5. The system of claim 3, wherein the modeler component determines a group of the quantum computer system state parameter values based on a statistical process control analysis performed on the group of parameter values, the group of parameter values including one or more of the parameter values, and as part of the statistical process control analysis, the modeler component determines whether each of the one or more parameter values satisfies an anomaly detection rule, where satisfaction of the anomaly detection rule indicates that an anomaly exists with respect to each of the one or more parameter values.
6. 5. The system of claim 3, wherein the modeler component determines a group of the quantum computer system state parameter values based on a probabilistic process modeling analysis performed on the group of parameter values, the group of parameter values including one or more of the parameter values, and as part of the probabilistic process modeling analysis, the modeler component determines whether each of the one or more parameter values satisfies a condition related to a change in parameter value relative to a baseline parameter value, where satisfaction of the condition indicates that, for each of one or more parameter values, a defined threshold amount of parameter value change relative to the baseline parameter value has occurred.
7. 7. The system of claim 3, wherein the group of quantum computer system state parameter values indicates whether each parameter value has changed by more than a respective defined threshold amount of parameter value change applicable to each parameter.
8. 8. The system of claim 7, wherein the calibration agent determines the calibration strategy associated with the sequencing of the execution of the group of calibration tasks for calibrating the at least one parameter associated with the quantum computer based on a result of a determination of whether each parameter value has changed beyond the respective defined threshold amount of parameter value change.
9. 9. The system of claim 1, wherein the calibration agent determines a performance reward value corresponding to a performance reward in performing the calibration of the at least one parameter at a time instance or time frequency, the performance reward being related to a first benefit obtained from performing the calibration at the time instance or time frequency.
10. the calibration agent determines an availability reward value corresponding to an availability reward in performing the calibration of the at least one parameter at the time instance or time frequency, the availability reward being related to a second benefit derived from the availability of the quantum computer resulting from the quantum computer not being unavailable for performing one or more calibrations of one or more parameters associated with the quantum computer for one or more time periods; 10. The system of claim 9, wherein the calibration agent determines a reward value as a function of the performance reward value and the availability reward value, the reward value corresponding to an overall benefit of performing the calibration of the at least one parameter at the time instance or time frequency.
11. 11. The system of claim 10, wherein the calibration agent updates a calibration policy associated with calibrating a group of quantum computers that includes the quantum computer based on the calibration strategy or the reward value, and the calibration agent generates an updated calibration policy based on the update of the calibration policy.
12. the group of data is a first group of data, the group of monitoring jobs is a first group of monitoring jobs, the calibration agent determines a second group of monitoring jobs based on the updated calibration policy and determines a second group of data to input to the quantum computer to facilitate performance of the second group of monitoring jobs on the quantum computer; 12. The system of claim 11, wherein the monitoring job component executes a second group of the monitoring jobs on the quantum computer based on a second group of the data input to the quantum computer in accordance with the updated calibration policy.
13. 13. The system of claim 10, wherein the calibration agent uses an artificial intelligence model to perform an analysis on at least one of parameter values associated with the quantum computer or quantum computer system state parameter values associated with the quantum computer that are input to the artificial intelligence model, and based on a result of the analysis, the calibration agent determines updates to the calibration strategy, the reward value, or a calibration policy associated with the calibration of a group of quantum computers that includes the quantum computer, and the calibration agent is trained based on the reward value or the result of the analysis.
14. 1. A computer-implemented method comprising: executing, by a system operatively coupled to the processor, a group of monitoring jobs on the quantum computer based on groups of data input to the quantum computer; determining, by the system, a calibration strategy relating to ordering the execution of a group of calibration tasks for calibrating at least one parameter associated with the quantum computer based on input information determined from the group of monitoring jobs; 4. A computer-implemented method comprising:
15. 15. The computer-implemented method of claim 14, further comprising: performing, by the system, a group of calibrations on a group of quantum computers that includes the quantum computer at a group of time instances based on the calibration strategy, the calibration strategy reducing an amount of downtime for the group of quantum computers associated with the group of calibrations for the group of quantum computers.
16. The input information includes a group of parameter values including a respective parameter value for each parameter at each time instance, the method comprising: determining, by the system, each quantum computer system state parameter value associated with the quantum computer at a particular instance of time based on the group of parameter values; 16. The computer-implemented method of claim 14, further comprising: determining, by the system, the calibration strategy for the calibration of the quantum computer, wherein the determining comprises determining a group of items to calibrate based on the group of quantum computer system state parameter values, determining a respective ordering of execution of calibration tasks for calibrating each item of the group of items, or determining a schedule for the calibration of the group of items, wherein the group of items includes qubits or pairs of qubits of the quantum computer or a portion of the parameters associated with the quantum computer, and wherein the portion of the parameters includes the at least one parameter.
17. The input information includes a group of parameter values associated with the quantum computer, the method comprising: determining, by the system, a reward value corresponding to a reward for performing the calibration at a time instance or frequency; updating, by the system, a calibration policy associated with calibration of a group of quantum computers including the quantum computer based on the calibration strategy or the reward value; generating, by the system, an updated calibration policy based on the update of the calibration policy; 17. The computer-implemented method of claim 14, further comprising:
18. determining, by the system, the update of the calibration strategy or the calibration policy based on at least one of a first result of analyzing the group of information items based on an artificial intelligence model, a second result of analyzing the group of information items retrieved from a lookup table, or a third result of analyzing the group of information items associated with a decision tree; 20. The computer-implemented method of claim 17, wherein the group of information items includes or relates to the group of parameter values associated with the quantum computer, a group of quantum computer system state parameter values associated with the quantum computer, or feedback information related to the calibration of the quantum computer, and the feedback information is received from a user.
19. 1. A computer program product for facilitating calibration of a quantum computer, comprising: a computer-readable storage medium having program instructions embodied therein, the program instructions being executable by a processor, the processor comprising: executing a group of monitoring jobs on the quantum computer based on a group of data to be applied to the quantum computer; determining a calibration strategy relating to ordering the execution of a group of calibration tasks for calibrating at least one parameter associated with the quantum computer based on input information derived from the execution of the group of monitoring jobs; A computer program product that causes a program to execute the above.
20. The input information includes a group of parameter values including a respective parameter value for each parameter at each time instance, and the program instructions are executable by the processor, the program instructions causing the processor to:
20. The computer program product of claim 19, further comprising: causing a group of calibrations to be performed on a group of quantum computers including the quantum computer at a group of time instances based on the calibration strategy; and wherein the determination of the calibration strategy includes at least one of determining a group of items to calibrate, determining a respective ordering of execution of calibration tasks for calibrating each item of the group of items, or determining a schedule for the calibration of the group of items, the group of items including qubits of the quantum computer or a portion of the parameters associated with the quantum computer, the portion of the parameters including the at least one parameter, and the calibration strategy mitigates an amount of downtime of the group of quantum computers for the group of calibrations of the group of quantum computers.
Citation Information
Patent Citations
Qubit pulse calibration via canary parameter monitoring
US20220019927A1
Automatic qubit calibration
WO2017213698A1
Adaptive error correction in quantum computing
WO2020200758A1