Information processing device, information processing method, and information processing program
The information processing device improves reliability in quantum systems by clustering and selecting a majority output distribution from probabilistic quantum systems, addressing the challenges of N-version programming with probabilistic outputs.
Patent Information
- Application Number
- PCT/JP2024/026699
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-25
- Publication Date
- 2026-01-29
AI Technical Summary
Existing N-version programming techniques struggle to improve reliability when applied to quantum systems due to probabilistic output distributions, as well as systems with similar probabilistic output variations.
An information processing device that acquires output distributions from multiple quantum systems, performs clustering based on distance metrics, and identifies majority output distributions to determine a reliable candidate output distribution.
Enhances the reliability of output results by selecting a highly probable and noise-free output distribution from probabilistic quantum systems.
Smart Images

Figure JP2024026699_29012026_PF_FP_ABST
Abstract
Description
Information processing device, information processing method, and information processing program
[0001] The present invention relates to an information processing device, an information processing method, and an information processing program.
[0002] N-version programming (hereinafter sometimes referred to as NVP) has been known as one of the techniques for improving system reliability. In NVP, processing is independently executed in multiple different systems based on the same specifications, and a final output is selected from the outputs of all the systems. Majority voting logic is known as a typical method for selecting the final output (see, for example, Non-Patent Document 1).
[0003] NVP's technology makes the systems that execute the target processes redundant, thereby improving the reliability and safety of the final output.
[0004] Subasi N, Guner U, Ustoglu I. "N-version programming approach with implicit safety guarantee for complex dynamic system stabilization applications.", Measurement and Control. 2021;54(3-4):269-278. doi:10.1177 / 0020294019887473
[0005] However, when the system that executes the target process is a quantum system that includes a quantum algorithm, the output of the quantum algorithm changes probabilistically. Therefore, the output obtained by executing the quantum system is not fixed to a single value but forms a probabilistic distribution.
[0006] Therefore, when applying NVP technology to quantum systems, it is difficult to improve reliability because results that vary probabilistically for each execution on multiple different quantum systems are compared. This is true not only for quantum systems, but also for systems other than quantum systems whose output results form a probabilistic distribution.
[0007] The present invention has been made in consideration of the above, and aims to improve the reliability of an output determined based on the output results of multiple different systems, each of which forms a probabilistic distribution of output results.
[0008] In order to solve the above-mentioned problems and achieve the object, an information processing device according to the present invention includes an acquisition unit, an identification unit, and a determination unit. The acquisition unit acquires information indicating the output distribution of each of a plurality of different systems, each of which forms a probabilistic distribution of output results. The identification unit performs clustering based on the distance between the output distributions about which information was acquired by the acquisition unit, and identifies two or more output distributions classified into the cluster with the largest number of output distributions. The determination unit determines output distribution candidates, which are candidates for the output distribution, based on the two or more output distributions identified by the identification unit.
[0009] According to the present invention, it is possible to improve the reliability of an output determined based on the output results of a plurality of different systems, each of which forms a probabilistic distribution of output results.
[0010] FIG. 1 is a diagram for explaining an overview of information processing by an information processing device according to an embodiment. FIG. 2 is a schematic diagram illustrating a schematic configuration of an information processing system according to an embodiment. FIG. 3 is a schematic diagram illustrating a schematic configuration of an information processing device according to an embodiment. FIG. 4 is a diagram illustrating an overview of distances for each output distribution combination calculated by a calculation processing unit of an identification unit in a processing unit of the information processing device according to an embodiment. FIG. 5 is a diagram for explaining an example of clustering processing by an identification unit in a processing unit of the information processing device according to an embodiment. FIG. 6 is a diagram for explaining an example in which an output distribution obtained by mixing two output distributions is determined as an output distribution candidate by a determination unit in a processing unit of the information processing device according to an embodiment. FIG. 7 is a diagram for explaining an example of output distribution candidate determination processing by a processing unit of the information processing device according to an embodiment. FIG. 8 is a diagram illustrating an example of a flowchart of an information processing method according to an embodiment. FIG. 9 is a diagram illustrating an example of a computer on which an information processing device according to an embodiment is implemented.
[0011] An embodiment of the present invention will be described in detail below with reference to the drawings, but the present invention is not limited to this embodiment.
[0012] 1. Overview of Information Processing Apparatus FIG. 1 is a diagram for explaining an overview of information processing by an information processing apparatus according to an embodiment. The information processing apparatus 100 according to an embodiment has a plurality of different quantum systems 200. 1 , 200 2 , 200 3 Processing is performed using the output of
[0013] Quantum System 200 1 includes a quantum program X1, a software execution environment Y1, and hardware Z1, and the software execution environment Y1 executes the quantum program X1 on the hardware Z1.
[0014] Quantum System 200 2 includes a quantum program X2, a software execution environment Y2, and hardware Z2, and the software execution environment Y2 executes the quantum program X2 on the hardware Z2.
[0015] Quantum System 200 3 includes a quantum program X3, a software execution environment Y3, and hardware Z3, and the software execution environment Y3 executes the quantum program X3 on the hardware Z3.
[0016] In the following, quantum system 200 1 , 200 2 , 200 3 When each of the software execution environments Y1, Y2, and Y3 is referred to without being individually distinguished, it may be referred to as quantum system 200, and when each of the quantum programs X1, X2, and X3 is referred to without being individually distinguished, it may be referred to as quantum program X. Furthermore, when each of the software execution environments Y1, Y2, and Y3 is referred to without being individually distinguished, it may be referred to as software execution environment Y, and when each of the hardware Z1, Z2, and Z3 is referred to without being individually distinguished, it may be referred to as hardware Z.
[0017] Quantum program X is code written in a programming language such as Python, Q#, or C#, but the programming language is not limited to the above examples. Quantum programs X1, X2, and X3 are code written based on the same specifications and are used to execute the same task. Note that quantum programs X1, X2, and X3 may be the same code written in the same language.
[0018] The software execution environment Y is, for example, Qiskit (Quantum Information Science Kit), QDK (Quantum Development Kit), Bracket_SDK, etc., but is not limited to these examples.
[0019] The hardware Z is a quantum computer, such as, but not limited to, a quantum computer provided by IBM Q, IonQ, QuEra, etc. The quantum computer provided by IBM Q is, for example, a superconducting qubit quantum computer, the quantum computer provided by IonQ is, for example, an ion trap quantum computer, and the quantum computer provided by QuEra is, for example, a cooled atom (neutral atom) quantum computer.
[0020] Quantum System 200 1 , 200 2 , 200 3 are quantum systems that are different from each other, and at least one of quantum program X, software execution environment Y, and hardware Z is different from each other. For example, quantum system 200 1 , 200 2 , 200 3 The software execution environment Y and the hardware Z are different from each other.
[0021] For example, quantum system 200 1 In the quantum system 200, the software execution environment Y1 is Qiskit and the hardware Z1 is a quantum computer using a superconducting qubit system. 2For example, the software execution environment Y2 is Qiskit, and the hardware Z2 is an ion trap quantum computer. 3 For example, the software execution environment Y3 is Bracket_SDK, and the hardware Z3 is a cold atom (neutral atom) quantum computer.
[0022] Quantum System 200 1 , 200 2 , 200 3 Each of the quantum systems 200 repeatedly performs processing according to the quantum program X based on input data and repeatedly outputs an output value. The number of samplings, which is the number of times the processing according to the quantum program X is repeated, is 1 , 200 2 , 200 3 are the same in each of the groups, but may be different from each other.
[0023] The information processing device 100 includes a plurality of different quantum systems 200 1 , 200 2 , 200 3 By acquiring output values repeatedly output from each of the quantum systems 200, output distribution information is acquired, which is information indicating an output distribution indicated by the output values for the number of sampling times (step S1). 1 Output distribution f 1 The information indicating (x) is stored in the quantum system 200. 1 The output result R1 is obtained as the quantum system 200 2 Output distribution f 2 The information indicating (x) is stored in the quantum system 200. 2 The output result R2 is obtained as the quantum system 200 3 Output distribution f 3 The information indicating (x) is stored in the quantum system 200. 3 The output result is obtained as R3.
[0024] Output distribution f 1 (x), f 2 (x), f 3 Each of (x) is expressed as the number of outputs for each output value. In the following, the output distribution f 1 (x), output distribution f2 (x), output distribution f 3 When each of (x) is referred to without distinguishing between them individually, it may be referred to as output distribution f(x). The output distribution f(x) can also be said to be a value obtained by multiplying the probability distribution, which is the output probability for each output value, by the number of sampling times.
[0025] The information processing device 100 performs clustering based on the distance between the output distributions f(x) whose information was acquired in step S1, and identifies two or more output distributions f(x) that are classified into the cluster with the largest number of output distributions f(x) (step S2). The information processing device 100 calculates, for example, the Jensen-Shannon divergence between the output distributions f(x) as the distance between the output distributions f(x).
[0026] The information processing device 100, for example, 1 (x) and output distribution f 2 Distance d between (x) 12 , output distribution f 2 (x) and output distribution f 3 Distance d between (x) 23 , and the output distribution f 1 (x) and output distribution f 3 Distance d between (x) 13 is calculated to create a distance matrix D.
[0027] Then, the information processing device 100 calculates the output distribution f 1 (x), f 2 (x), f 3 For example, the information processing device 100 uses the distance matrix D to cluster the output distribution f 1 (x), f 2 (x), f 3 The information processing device 100 performs hierarchical clustering of (x). For example, by performing clustering with the number of clusters set to 2, three output distributions f 1 (x), f 2 (x), f 3 (x) is classified into two clusters.
[0028] Based on the clustering results, the information processing device 100 identifies two or more output distributions f(x) classified into the cluster with the largest number of output distributions f(x). Hereinafter, the cluster with the largest number of output distributions f(x) may be referred to as the majority cluster, and the output distribution f(x) classified into the majority cluster may be referred to as the majority output distribution. In the example shown in FIG. 1 , the majority cluster is a cluster that includes two output distributions f(x).
[0029] For example, the output distribution f 1 (x), f 2 (x) is classified into one cluster, and the output distribution f 3 If (x) is classified into one remaining cluster, the majority output distribution is the output distribution f 1 (x), f 2 (x).
[0030] Next, the information processing device 100 determines a candidate output distribution f(x) based on the two or more output distributions f(x) identified as the majority output distribution in step S2. C (x) is determined (step S3).
[0031] In step S3, the information processing device 100 selects one of the two or more output distributions f(x) identified as the majority output distribution in step S2 as a candidate output distribution f(x). C (x), or an output distribution obtained by mixing two or more output distributions f(x) identified as the majority output distribution in step S2 is called an output distribution candidate f(x). C It is determined as (x).
[0032] The information processing device 100 selects the output distribution candidate f C (x) as the final output data, or the output distribution candidate f C (x) is used as the final output data for specific processing. C (x) is determined based on two or more majority output distributions f(x) identified based on the distance between the output distributions f(x), and the majority output distribution f(x), which is a plurality of similar output distributions f(x), is likely to be close to a noise-free output distribution and highly reliable. Therefore, the information processing device 100 selects a highly reliable output distribution candidate f(x).C (x) can be determined, and the output distribution candidate f C The reliability of (x) can be improved.
[0033] The information processing device 100 and quantum system 200 that perform such processing will be described below. 1 , 200 2 , 200 3 The configuration of the information processing system including the above will be described in detail.
[0034] 2. Configuration of Information Processing System FIG. 2 is a schematic diagram illustrating the general configuration of an information processing system according to an embodiment. As shown in FIG. 2, the information processing system 1 according to an embodiment includes an information processing device 100 and a quantum system 200. 1 ~200 n and a terminal device 300. n is an integer equal to or greater than 3. The information processing device 100, the terminal device 300, and the quantum system 200 1 ~200 n are communicably connected via a network N. In the following, the quantum system 200 1 ~200 n When each of these is referred to individually without distinction, they may be referred to as quantum system 200.
[0035] The network N is, for example, a local area network (LAN), but may also be a wide area network (WAN) such as the Internet. The information processing device 100 is, for example, a general-purpose computer such as a server, and the terminal device 300 is, for example, a general-purpose computer such as a notebook PC (Personal Computer), but is not limited to such examples.
[0036] 3 is a schematic diagram illustrating a general configuration of the information processing device 100 according to the embodiment. As shown in FIG. 3, the information processing device 100 according to the embodiment includes a communication unit 110, a storage unit 120, and a processing unit 130.
[0037] (Communication Unit 110) The communication unit 110 controls communication between an external device and the processing unit 130 via an electric communication line such as a LAN or the Internet. The communication unit 110 is realized by, for example, a communication module or a NIC (Network Interface Card), but is not limited to such examples.
[0038] (Storage Unit 120) The storage unit 120 stores in advance an information processing program that operates the information processing device 100, data used during execution of the information processing program, and the like, or temporarily stores the data each time processing is performed.
[0039] The storage unit 120 includes an output result storage unit 121, an identification history storage unit 122, a determination history storage unit 123, and a setting information storage unit 124. The output result storage unit 121 stores the output results of each quantum system 200. The processing unit 130 stores information on the output values for the number of samplings repeatedly acquired from the quantum system 200 via the communication unit 110 in the output result storage unit 121 as information indicating the output distribution f(x).
[0040] The identification history storage unit 122 stores information such as the calculation history of the distance between output distributions f(x) by the processing unit 130, the clustering history of the output distributions f(x) by the processing unit 130, and the identification history of two or more output distributions f(x) by the processing unit 130.
[0041] The determination history storage unit 123 stores, for example, the output distribution candidate f C The setting information storage unit 124 stores information such as the determination history of (x). The setting information storage unit 124 stores setting information including, for example, information indicating predetermined conditions, information indicating the number of sampling times of each quantum system 200, and other information.
[0042] (Processing Unit 130) The processing unit 130 is realized using a processor such as a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit), and executes a processing program stored in the storage unit 120. As a result, the processing unit 130 functions as a reception unit 131, a processing execution unit 132, an acquisition unit 133, an identification unit 134, a determination unit 135, and a provision unit 136, as illustrated in FIG. 3, to execute information processing. Note that these functional units may each be implemented in different hardware, or some of them may be implemented in different hardware. The processing unit 130 may also include other functional units.
[0043] (Reception Unit 131) The reception unit 131 receives various requests transmitted from the terminal device 300 via the communication unit 110. For example, the reception unit 131 receives a processing start request transmitted from the terminal device 300.
[0044] (Processing Execution Unit 132) The processing execution unit 132 executes specific processing. Examples of specific processing include, but are not limited to, prime factorization processing, chemical reaction prediction processing, stock price prediction processing, and antibody molecule structural analysis processing.
[0045] The processing execution unit 132 starts a specific process when a processing start request is received by the reception unit 131. When the processing execution unit 132 starts a specific process, it transmits input data, which is data to be input to the quantum system 200, to each quantum system 200 via the communication unit 110. Each quantum system 200 is provided with, for example, an API (Application Programming Interface), and the processing execution unit 132 inputs the input data to the quantum system 200 via the API.
[0046] The input data is data for causing quantum system 200 to execute part or all of the chemical reaction prediction, and is data input to quantum program X, but may also be, for example, data further including part or all of quantum program X. Note that the input data may be data for causing quantum system 200 to output information indicating the output distribution f(x), and is not limited to the above-mentioned example.
[0047] The process execution unit 132 determines the output distribution candidate f determined by the determination unit 135. C For example, the process execution unit 132 performs a part of the specific process based on the output distribution candidate f C The process execution unit 132 performs a part of the identification process using the average output value or the most frequent output value of (x), but is not limited to such an example. C (x) may also be the result of a specific process.
[0048] (Acquisition unit 133) The acquisition unit 133 acquires output values repeatedly output from each quantum system 200, and repeatedly stores the acquired output values of each quantum system 200 in the output result storage unit 121. As a result, information on the output values repeatedly acquired from the quantum system 200 for the number of samplings is stored in the output result storage unit 121 as information indicating the output distribution f(x).
[0049] The information indicating the output distribution f(x) stored in the output result storage unit 121 is the quantum system 200 1 Output distribution f 1 Information indicating (x), quantum system 200 2 Output distribution f 2 Information indicating (x), quantum system 200 n Output distribution f n In the following, the output distribution f 1 (x), f 2 (x), ..., f n When each of (x) is shown without being individually distinguished, it may be referred to as output distribution f(x).
[0050] The acquiring unit 133 acquires information indicating the output distribution f(x) of each quantum system 200 stored in the output result storage unit 121. Note that, when the information output from each quantum system 200 is information indicating the output distribution f(x) of each quantum system 200, the acquiring unit 133 can also acquire the information indicating the output distribution f(x) output from each quantum system 200 via the communication unit 110.
[0051] (Identification unit 134) The identification unit 134 performs clustering based on the distance between the output distributions f(x) whose information is acquired by the acquisition unit 133, and identifies two or more output distributions f(x) that are classified into the cluster with the largest number of output distributions f(x).
[0052] The identification unit 134 includes a calculation processing unit 140, a clustering unit 141, and an identification processing unit 142. The calculation processing unit 140 calculates the distance between the output distributions f(x) whose information is acquired by the acquisition unit 133 in a brute force manner.
[0053] The calculation processing unit 140 calculates, for example, the output distribution f 1 (x), f 2 (x), ..., f n For each combination of two different output distributions f(x) among (x), the distance between the two different output distributions f(x) is calculated. Hereinafter, each combination of two different output distributions f(x) may be referred to as an output distribution combination.
[0054] When n=3, the combination of two different output distributions f(x) is output distribution f 1 (x), f 2 Combination of (x), output distribution f 2 (x), f 3 (x) combination, and output distribution f 1 (x), f 3 There are three combinations of (x).
[0055] 4 is a diagram showing an outline of the distance for each output distribution combination calculated by the calculation processing unit 140 of the identification unit 134 in the processing unit 130 of the information processing device 100 according to the embodiment. In the example shown in FIG. 4, the calculation processing unit 140 calculates the distance for each output distribution combination f 1 (x), f 2 (x) Distance d between 12 and the output distribution f 2 (x), f 3 (x) Distance d between 23 and the output distribution f 1 (x), f 3 (x) Distance d between 13 The distance matrix D is a symmetric matrix, and the distance d 21, distance d 31 , and distance d 32 is the distance d 12 , distance d 13 , and distance d 23 is the same as
[0056] The calculation processing unit 140 calculates, for example, the Jensen-Shannon divergence between the output distributions f(x) as the distance between two different output distributions f(x). Furthermore, instead of the Jensen-Shannon divergence between the output distributions f(x), the calculation processing unit 140 may use the Wasserstein distance between the output distributions f(x) or the Hellinger distance between the output distributions f(x). Note that the method of calculating the distance between the output distributions f(x) in the calculation processing unit 140 is not limited to the above-mentioned example.
[0057] Furthermore, the distance between two different output distributions f(x) may be the distance between portions of the two different output distributions f(x), or may be the distance between the maximum output values of the two different output distributions f(x). The portion of the output distribution f(x) may be, for example, a median, an average, or a predetermined range from the maximum value, but is not limited to such examples.
[0058] The clustering unit 141 clusters the output distribution f 1 (x), f 2 (x), ..., f n Clustering of (x) is performed.
[0059] The clustering unit 141 creates a distance matrix D based on the distance for each output distribution combination calculated by the calculation processing unit 140. For example, when n = 3, the distance matrix D is a 3 × 3 matrix, and when n = 5, the distance matrix D is a 5 × 5 matrix.
[0060] Then, the clustering unit 141 uses the distance matrix D to obtain the output distribution f 1 (x), f 2 (x), ..., f n For example, the clustering unit 141 uses the distance matrix D to cluster the output distribution f 1 (x), f2 (x), ..., f n Perform hierarchical clustering of (x).
[0061] The hierarchical clustering used by the clustering unit 141 is, for example, agglomerative hierarchical clustering. The agglomerative hierarchical clustering is, for example, hierarchical clustering using the shortest distance method, the longest distance method, or the group average method, but is not limited to these examples. Note that the hierarchical clustering used by the clustering unit 141 may also be divisive hierarchical clustering.
[0062] The clustering unit 141 performs clustering to classify a plurality of output distributions f(x), information of which is acquired by the acquisition unit 133, into two or more clusters. For example, when the number of output distributions f(x), information of which is acquired by the acquisition unit 133, is three (n=3), the clustering unit 141 performs clustering with the number of clusters set to two, for example, to classify the three output distributions f(x). 1 (x), f 2 (x), f 3 (x) is classified into two clusters.
[0063] Furthermore, when the number of output distributions f(x) for which information is acquired by the acquisition unit 133 is five (n=5), the clustering unit 141 repeatedly combines clusters until three output distributions f(x) form one cluster and the remaining two output distributions f(x) form one or two other clusters.
[0064] Furthermore, instead of specifying the number of clusters into which multiple output distributions f(x) are classified by clustering or the number of output distributions f(x) classified into a cluster, the clustering unit 141 can also set a distance threshold used for combining clusters.
[0065] For example, the clustering unit 141 can classify two or more output distributions f(x) within a distance range defined by a threshold value used for combining clusters into one cluster by setting the threshold value for the distance used for combining clusters. The threshold value for the distance used for combining clusters is, for example, the maximum value of the distance used for combining clusters, but is not limited to this example.
[0066] The identification processing unit 142 identifies two or more majority output distributions f(x) based on the clustering results by the clustering unit 141. The majority output distribution f(x) is the output distribution f(x) included in the cluster with the largest number of classified output distributions f(x), and is the majority output distribution described above.
[0067] For example, when n=3, the two or more majority output distributions f(x) are output distributions f(x) that are classified into a cluster that includes two output distributions f(x). For example, the clustering unit 141 classifies the output distributions f(x) into two or more clusters that include two output distributions f(x). 1 (x), f 2 (x) is classified into one cluster, and the output distribution f 3 In this case, the specifying processing unit 142 determines the output distribution f(x) as two or more output distributions f(x) of the majority cluster. 1 (x), f 2 Identify (x).
[0068] In addition, n=5, and the clustering unit 141 generates an output distribution f 1 (x), f 3 (x), f 4 (x) is classified into one cluster, and the output distribution f 2 (x), f 5 In this case, the identification processing unit 142 determines the output distribution f(x) as two or more output distributions f(x) of the majority cluster. 1 (x), f 3 (x), f 4 Identify (x).
[0069] Furthermore, when the clustering unit 141 classifies the same number of output distributions f(x) into multiple clusters through clustering, the identification processing unit 142 can also identify two or more majority output distributions based on the distance between the output distributions f(x) classified into the clusters.
[0070] For example, when there are two clusters with the largest number of classified output distributions f(x), the identification processing unit 142 identifies, as the majority output distribution, each of the two output distributions f(x) classified into the cluster with the smaller distance between the output distributions f(x) or the smaller average value of the distance between the output distributions f(x).
[0071] 5 is a diagram illustrating an example of the clustering process performed by the identification unit 134 in the processing unit 130 of the information processing device 100 according to the embodiment. In the example shown in FIG. 5, the output distribution f 1 (x), f 2 (x), f 3 (x) is the output distribution f 1 (x), f 2 Cluster of (x) and output distribution f 3 In this case, the specifying unit 134 determines the output distribution f 1 (x), f 2 Let (x) be the majority output distribution.
[0072] The identification unit 134 performs the identification process of two or more output distributions f(x) of the majority cluster on each quantum system 200. 1 ~200 n The determination unit 134 performs this process every time the information indicating the output distribution f(x) of each quantum system 200 is obtained by the obtaining unit 133. 1 ~200 n Alternatively, the calculation may be performed at predetermined intervals instead of every time information indicating the output distribution f(x) of each quantum system 200 is acquired by the acquisition unit 133. The intervals at which information indicating the output distribution f(x) of each quantum system 200 is acquired or the predetermined intervals are examples of specific intervals.
[0073] (Determining Unit 135) The determining unit 135 determines an output distribution candidate f(x) that is a candidate for the output distribution f(x) based on the two or more output distributions f(x) identified by the identifying unit 134. C (x) is determined.
[0074] For example, the determining unit 135 may select one of the two or more output distributions f(x) identified by the identifying unit 134 as a candidate output distribution f(x). C(x), or an output distribution obtained by mixing two or more output distributions f(x) identified by the identifying unit 134 is determined as an output distribution candidate f(x). C It is determined as (x).
[0075] The determination unit 135 determines the output distribution candidate f C (x) as the final output data, or the output distribution candidate f C (x) is used as the final output data for specific processing. C Since the output distribution candidate f(x) is determined based on two or more output distributions f(x) identified by the identifying unit 134 based on the distance between the output distributions f(x), the output distribution candidate f(x) is an output based on the output results of a plurality of different quantum systems 200. C The reliability of (x) can be improved.
[0076] The determining unit 135 determines one of the two or more output distributions f(x) identified by the identifying unit 134 as a candidate output distribution f(x), for example, according to a predetermined rule or randomly. C (x) is determined.
[0077] The predetermined rule may be, but is not limited to, a rule to select the output distribution f(x) having the smallest average or median value of the distance between the output distribution f(x) and an output distribution f(x) not identified by the identification unit 134, or a rule to select the output distribution f(x) that has been selected most frequently in the past.
[0078] For example, the predetermined rule may be a rule to select an output distribution f(x) that has not been selected previously, a rule to select an output distribution f(x) that has been selected previously, or a rule to select an output distribution f(x) that has been selected most frequently in the past.
[0079] The determination unit 135 determines, for example, the output distribution candidate f C Based on the determination history of (x), the frequency of past selections can be calculated for each output distribution f(x).
[0080] The predetermined rule is, for example, to select one output distribution f(x) from two or more output distributions f(x) identified by the identifying unit 134 as a candidate output distribution f(x) based on two or more pieces of information such as the average or median value of the distance between the output distribution f(x) and an output distribution f(x) not identified by the identifying unit 134, the frequency of selection in the past, and information indicating whether or not it was selected last time. C It can also be determined as (x).
[0081] The determining unit 135 determines the output distribution f(x) obtained by mixing two or more output distributions f(x) identified by the identifying unit 134. R (x) is the output distribution candidate f C It can also be determined as (x).
[0082] For example, in order to obtain each of the two or more output distributions f(x) identified by the identifying unit 134, the determining unit 135 may determine an output distribution f(x) obtained by weighting and mixing two or more output distributions f(x) at a mixing ratio according to the number of samplings in the corresponding quantum system 200 among the plurality of different quantum systems 200. R (x) is the output distribution candidate f C (x) is determined.
[0083] The determining unit 135 determines whether the output distribution f(x) identified by the identifying unit 134 is one of two output distributions f 1 (x), f 2 (x), the output distribution f R (x) can be calculated. R (x) = p 1 ×f 1 (x) + p 2 ×f 2 (x) ...(1)
[0084] In the above formula (1), “p 1 " is the output distribution f 1 To obtain (x), quantum system 200 1 The number of sampling times N 1 The mixing ratio is determined by "p 2 " is the output distribution f 2 To obtain (x), quantum system 200 2 The number of sampling times N2 The mixing ratio is determined by the mixing ratio p 1 For example, p 1 = N 1 / (N 1 +N 2 ) and the mixture ratio p 2 For example, p 2 = N 2 / (N 1 +N 2 ), but is not limited to such examples. 1 = N 2 If p 1 = p 2 = 0.5.
[0085] The determination unit 135 determines the output distribution f(x) based on the determination histories of two or more output distributions f(x) stored in the determination history storage unit 122. R The mixing ratio used to calculate (x) can also be adjusted. For example, the output distribution f 1 The specific frequency of the majority output distribution of (x) is q 1 and the output distribution f 2 The specific frequency of the majority output distribution of (x) is q 2 Let us assume that:
[0086] In this case, the determination unit 135 determines, for example, the number of sampling times N 1 , N 2 Adjustment value N 1 ', N 2 'As, N 1 '=N 1 ×k×q 1 / (q 1 +q 2 ) and N 2 '=N 2 ×k×q 2 / (q 1 +q 2 ) Then, the determining unit 135 determines the number of sampling times N 1 , N 2 Instead of the adjustment value N 1 ', N 2 By using ', the output distribution f R The mixing ratio used to calculate (x) is adjusted, but is not limited to this example.
[0087] FIG. 6 shows two output distributions f 1 (x), f 2 The output distribution f obtained by mixing (x) R (x) is the output distribution candidate f C 6 is a diagram for explaining an example in which two output distributions f 1 (x), f 2 The output distribution f obtained by mixing (x) R (x) is an output distribution close to the output distribution in the case where there is no error. Therefore, the determining unit 135 selects the output distribution candidate f C (x) can be determined with high accuracy.
[0088] The mixing method of two or more output distributions f(x) identified by the identification unit 134 is not limited to the above-described mixing method using weighted addition. For example, the mixing method of two or more output distributions f(x) identified by the identification unit 134 may be a mixing method using Bayesian updating using Bayesian estimation, a mixing method that normalizes by multiplying two or more output distributions f(x), or a mixing method using the maximum or minimum value of the number of outputs for each output value.
[0089] The output distribution candidate f determined by the determination unit 135 C The determination of (x) is performed by the acquisition unit 133 for each quantum system 200 1 ~200 n The determination unit 135 performs this process each time information indicating the output distribution f(x) of each quantum system 200 is acquired by the acquisition unit 133. 1 ~200 n The determination unit 135 can also determine the mixing method each time information indicating the output distribution f(x) of each quantum system 200 is acquired. 1 ~200 n Instead of determining the mixing method every time the information indicating the output distribution f(x) is acquired by the acquisition unit 133, the mixing method may be determined every predetermined period.
[0090] FIG. 7 shows the output distribution candidate f C7 is a diagram for explaining an example of a process for determining (x) in the period TD 1 (0 to T 1 ) quantum system 200 1 , 200 2 , 200 3 The output distribution f obtained at each 1 (x), f 2 (x), f 3 (x), the output distribution f(x) is the majority output distribution f(x). 2 (x), f 3 (x) is specified.
[0091] In this case, the determination unit 135 determines the output distribution f 2 (x), f 3 (x), we define one output distribution f(x) as the output distribution candidate f C (x) or output distribution f 2 (x), f 3 (x) mixed output distribution f R (x) is the output distribution candidate f C It is determined as (x).
[0092] In the example shown in FIG. 2 (T 1 ~T 2 ) quantum system 200 1 , 200 2 , 200 3 The output distribution f obtained at each 1 (x), f 2 (x), f 3 (x), the output distribution f(x) is the majority output distribution f(x). 1 (x), f 3 (x) is specified.
[0093] In this case, the determination unit 135 determines the output distribution f 1 (x), f 3 (x), we define one output distribution f(x) as the output distribution candidate f C (x) or output distribution f 1 (x), f 3 (x) mixed output distribution f R (x) is the output distribution candidate f C It is determined as (x).
[0094] In the example shown in FIG. 3 (T 2 ~T 3 ) quantum system 200 1 , 200 2 , 200 3 The output distribution f obtained at each 1 (x), f 2 (x), f 3 (x), the output distribution f(x) is the majority output distribution f(x). 1 (x), f 2 (x), f 3 (x) is specified.
[0095] In this case, the determination unit 135 determines the output distribution f 1 (x), f 2 (x), f 3 (x), we define one output distribution f(x) as the output distribution candidate f C (x) or output distribution f 1 (x), f 2 (x), f 3 (x) mixed output distribution f R (x) is the output distribution candidate f C It is determined as (x).
[0096] (Providing unit 136) The providing unit 136 can provide the processing result by the processing executing unit 132 to the user of the terminal device 300 by transmitting information indicating the processing result by the processing executing unit 132 via the communication unit 110 to the terminal device 300 that sent the processing start request accepted by the accepting unit 131.
[0097] 4. Processing Procedure Next, the processing procedure of the embodiment will be described with reference to Fig. 8. Fig. 8 is a diagram showing an example of a flowchart of an information processing method according to the embodiment. The processing shown in Fig. 8 is processing that starts when, for example, a processing start request is received by the processing unit 130 of the information processing device 100.
[0098] As shown in Figure 8, the processing unit 130 of the information processing device 100 requests each quantum system 200 to execute processing by sending input data to each quantum system 200 (step S10), and obtains information indicating the output distribution f(x), which is the output result of each quantum system 200 (step S11).
[0099] Next, the processing unit 130 performs clustering based on the distance between the output distributions f(x) of the quantum systems 200 for which information was obtained in step S11 (step S12). Then, the processing unit 130 identifies two or more majority output distributions f(x) based on the results of the clustering in step S12 (step S13).
[0100] Next, the processing unit 130 selects a candidate output distribution f(x) based on the two or more output distributions f(x) identified in step S13. C (x) is determined (step S14), and the determined output distribution candidate f C Processing using (x) is performed (step S15).
[0101] Next, the processing unit 130 determines whether or not there is unprocessed input data (step S16). If the processing unit 130 determines that there is unprocessed input data (step S16: Yes), the processing proceeds to step S10. If not (step S16: No), the processing unit 130 ends the processing shown in FIG. 8.
[0102] 5. Modifications In the example described above, the information processing device 100 has a configuration including the receiving unit 131, the processing execution unit 132, and the providing unit 136, but may have a configuration that does not include the receiving unit 131, the processing execution unit 132, and the providing unit 136. In this case, the information processing device 100 sends the output distribution candidate f C In this case, the information processing device 100 can act as an intermediary between the device that executes an application that uses a plurality of quantum systems 200 and the information processing device 100 that executes an application that uses the quantum systems 200.
[0103] Furthermore, in the above description, multiple different quantum systems 200 have been used as an example of multiple different systems that make up the information processing system 1, but the multiple different systems that make up the information processing system 1 may be any systems that output multiple different systems whose output results each form a probabilistic distribution, and are not limited to multiple different quantum systems 200.
[0104] 6. Effects The information processing device 100 according to this embodiment includes an acquisition unit 133, an identification unit 134, and a determination unit 135. The acquisition unit 133 acquires information indicating the output distribution f(x) of each of a plurality of different systems, each of which forms a probabilistic distribution of output results. The identification unit 134 performs clustering based on the distance between the output distributions f(x) about which information has been acquired by the acquisition unit 133, and identifies two or more output distributions f(x) classified into the cluster with the largest number of output distributions f(x). The determination unit 135 determines output distribution candidates f(x), which are candidates for the output distribution f(x), based on the two or more output distributions f(x) identified by the identification unit 134. C The majority output distribution f(x), which is a plurality of similar output distributions f(x), is likely to be close to a noise-free output distribution and highly reliable. Therefore, the information processing device 100 determines the output distribution candidate f(x) using the majority output distribution f(x). C (x) to efficiently and effectively determine a reliable output distribution candidate f C (x). Furthermore, by excluding output distributions f(x) that differ from the majority output distribution f(x), the information processing device 100 can eliminate the influence of output distributions f(x) that are likely to have large noise (error suppression has failed). Furthermore, the information processing device 100 has the advantage of being highly versatile, being able to use output results from various types of systems, and can effectively utilize the output results of systems without considering the differences and characteristics of individual systems.
[0105] [7. Hardware Configuration] The components of each device shown in the figures are conceptual functional components and do not necessarily have to be physically configured as shown. In other words, the specific form of distribution and integration of each device is not limited to that shown, and all or part of the devices can be functionally or physically distributed and integrated in any unit depending on various loads, usage conditions, etc. Furthermore, all or any part of the processing functions performed by each device can be realized by a CPU and a program analyzed and executed by the CPU, or can be realized as hardware using wired logic.
[0106] Furthermore, among the processes described in this embodiment, all or part of the processes described as being performed automatically can also be performed manually using known methods. In addition, the information including the processing procedures, control procedures, specific names, various data, and parameters shown in the drawings can be changed as desired unless otherwise specified.
[0107] [Program] In one embodiment, the various devices constituting the information processing device 100 can be implemented by installing the above-described prediction program as package software or online software on a desired computer. For example, by executing the above-described prediction program on an information processing device, the various devices constituting the information processing device 100 can function. The information processing device referred to here includes desktop and notebook personal computers. In addition, the information processing device also includes mobile communication terminals such as smartphones and mobile phones, and even slate terminals such as PDAs (Personal Digital Assistants).
[0108] 9 is a diagram showing an example of a computer in which the information processing device 100 according to this embodiment is realized. The computer 1000 has, for example, a memory 1010 and a CPU 1020. The computer 1000 also has a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. These components are connected by a bus 1080.
[0109] The memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM 1012. The ROM 1011 stores a boot program such as a BIOS (Basic Input Output System). The hard disk drive interface 1030 is connected to a hard disk drive 1090. The disk drive interface 1040 is connected to a disk drive 1100. A removable storage medium such as a magnetic disk or optical disk is inserted into the disk drive 1100. The serial port interface 1050 is connected to a mouse 1110 and a keyboard 1120, for example. The video adapter 1060 is connected to a display 1130, for example.
[0110] The hard disk drive 1090 stores, for example, an OS 1091, an application program 1092, a program module 1093, and program data 1094. That is, a program that defines each process of the various devices that make up the information processing device 100 is implemented as a program module 1093 in which computer-executable code is written. The program module 1093 is stored, for example, in the hard disk drive 1090. For example, a program module 1093 for executing processes similar to those of the functional configurations of the various devices that make up the information processing device 100 is stored in the hard disk drive 1090. Note that the hard disk drive 1090 may be replaced with an SSD (Solid State Drive).
[0111] Furthermore, setting data used in the processing of the above-described embodiment is stored as program data 1094, for example, in the memory 1010 or the hard disk drive 1090. The CPU 1020 then reads the program module 1093 or the program data 1094 stored in the memory 1010 or the hard disk drive 1090 into the RAM 1012 as necessary, and executes the processing of the above-described embodiment.
[0112] The program module 1093 and program data 1094 are not limited to being stored in the hard disk drive 1090, but may also be stored in, for example, a removable storage medium and read by the CPU 1020 via the disk drive 1100. Alternatively, the program module 1093 and program data 1094 may be stored in another computer connected via a network (such as a LAN or WAN). The program module 1093 and program data 1094 may then be read by the CPU 1020 from the other computer via the network interface 1070.
[0113] [8. Other] While the present embodiment has been described above, the present embodiment is not limited by the descriptions and drawings that form part of the disclosure. In other words, other embodiments, examples, and operational techniques made by those skilled in the art based on the present embodiment are all included in the scope of the present embodiment.
[0114] REFERENCE SIGNS LIST 1 Information processing system 100 Information processing device 110 Communication unit 120 Storage unit 121 Output result storage unit 122 Identification history storage unit 123 Decision history storage unit 124 Setting information storage unit 130 Processing unit 131 Reception unit 132 Processing execution unit 133 Acquisition unit 134 Identification unit 135 Decision unit 136 Provision unit 140 Calculation processing unit 141 Clustering unit 142 Identification processing unit 200, 200 1 , 200 2 , ..., 200 n Quantum system 300 Terminal device N Network
Claims
1. An information processing device comprising: an acquisition unit that acquires information indicating the output distribution of each of a plurality of different systems whose output results each form a probabilistic distribution; an identification unit that performs clustering based on the distance between the output distributions whose information is acquired by the acquisition unit and identifies two or more output distributions that are classified into the cluster with the largest number of output distributions; and a determination unit that determines output distribution candidates, which are candidates for the output distribution, based on the two or more output distributions identified by the determination unit.
2. The information processing device described in claim 1, characterized in that the identification unit comprises: a calculation processing unit that calculates the distance between the output distributions whose information is acquired by the acquisition unit; a clustering unit that performs clustering of the output distributions based on the distance calculated by the calculation processing unit; and an identification processing unit that identifies the two or more output distributions based on the results of clustering by the clustering unit.
3. The information processing device according to claim 1 or 2, characterized in that the determination unit determines one of the two or more output distributions identified by the identification unit as the output distribution candidate.
4. The information processing device according to claim 1 or 2, characterized in that the determination unit determines, as the output distribution candidate, an output distribution obtained by mixing the two or more output distributions identified by the identification unit.
5. The information processing device described in claim 4, characterized in that the determination unit determines as the output distribution candidate an output distribution obtained by mixing the two or more output distributions at a mixing ratio corresponding to the number of samplings in the corresponding system among the plurality of different systems to obtain each of the two or more output distributions.
6. An information processing device as described in claim 1 or 2, characterized in that the identification unit identifies the two or more output distributions each time information indicating the output distribution of each of the plurality of different systems is acquired by the acquisition unit or for each predetermined period.
7. An information processing method executed by a computer, comprising: an acquisition step of acquiring information indicating the output distribution of each of a plurality of different systems whose output results each form a probabilistic distribution; an identification step of performing clustering based on the distance between the output distributions whose information was acquired by the acquisition step and identifying two or more output distributions that are classified into the cluster with the largest number of output distributions; and a determination step of determining output distribution candidates, which are candidates for the output distribution, based on the two or more output distributions identified by the identification step.
8. An information processing program that causes a computer to execute the following steps: an acquisition procedure for acquiring information indicating the output distribution of each of a plurality of different systems whose output results each form a probabilistic distribution; an identification procedure for performing clustering based on the distance between the output distributions whose information is acquired by the acquisition procedure and identifying two or more output distributions that are classified into the cluster with the largest number of output distributions; and a determination procedure for determining output distribution candidates, which are candidates for output distributions, based on the two or more output distributions identified by the identification procedure.