Data processing system, storage medium storing program, and data processing method

By storing and managing unselected division candidate information in the information processing device, the number of times the Ising machine solves in the split-level clustering is reduced, and the problem of long execution time is solved, and more efficient data processing is achieved.

CN119513623APending Publication Date: 2025-02-25FUJITSU LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202411120040.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-08-25
Filing Date
2024-08-15
Publication Date
2025-02-25

AI Technical Summary

Technical Problem

The execution time of split-level clustering is long, mainly because the Ising machine needs to calculate a large number of node division candidates when processing each division mode, resulting in an increase in the number of solutions.

Method used

By storing unselected division candidate information in the information processing device, and determining whether there is a corresponding unselected division candidate based on this information, the number of solutions of the Isin machine is reduced.

Benefits of technology

The execution time of hierarchical clustering is shortened, and the number of times the Ising machine solves is reduced, thereby improving the efficiency of the data processing system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119513623A_ABST
    Figure CN119513623A_ABST
Patent Text Reader

Abstract

The invention provides a data processing system, a storage medium storing a program, and a data processing method. The data processing system includes an Isin machine that calculates a first partition candidate based on an Isin-type evaluation function; and an information processing device configured to: obtain, from an Isin machine, partition candidate information representing a first partition candidate of an individual first partition pattern; selecting one of the first division candidates and dividing the first cluster into a second cluster and a third cluster; storing division candidate information of the first division candidate which is not selected; determining whether there is an unselected first partition candidate corresponding to a second partition pattern of a second cluster based on the stored partition candidate information; and when it is determined that there is an unselected first partition candidate, selecting one of the second partition candidates of the second cluster and dividing the second cluster into a fourth cluster and a fifth cluster.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments discussed herein relate to a data processing system, a program, and a data processing method. Background Art

[0002] There is an Ising machine (also called a Boltzmann machine) using an Ising-type evaluation function (also called an energy function, etc.) as a device for calculating large-scale discrete optimization problems that Neumann computers are not good at. In the calculations performed using the Ising machine, the problem to be calculated is replaced by an Ising model, which is a model representing the spin behavior of a magnetic material. Then, the state of the Ising model in which the value of the Ising-type evaluation function (corresponding to the energy of the Ising model) becomes a local minimum is searched by the Markov chain Monte Carlo method. The state that reaches the minimum value among the local minima of the evaluation function is regarded as the optimal solution.

[0003] Meanwhile, there is divisive hierarchical clustering as one of the data analysis methods for visualizing the correlation between data blocks. Divisive hierarchical clustering is a technique for sequentially dividing clusters based on weight values ​​(e.g., similarity) between nodes according to a state in which all nodes representing data form one cluster.

[0004] Note that it has been proposed to use hierarchical clustering to compress data to be written to the block storage when determining the blocks to be subjected to batch compression. In addition, it has been proposed to use a quantum annealer, which is a type of Ising machine, to minimize the error in each layer when updating the parameters of the neural network by back-propagation.

[0005] Reference List

[0006] Patent Literature

[0007] [Patent Document 1] Japanese Patent Publication No. 2019-46023 and International Publication Pamphlet No. WO 2020-255634. Summary of the invention

[0008] Technical issues

[0009] In order to shorten the execution time of divisive hierarchical clustering, the Ising machine can be used to calculate which of the two clusters each node is classified into for each partitioning pattern of the number of nodes in each cluster. However, the number of partitioning patterns increases as the number of nodes increases. Therefore, the number of solutions in the Ising machine increases, thereby lengthening the execution time of hierarchical clustering.

[0010] In one aspect, an embodiment aims to reduce the execution time of hierarchical clustering.

[0011] Solution to the problem

[0012] In one aspect of the embodiment, a data processing system includes: an Ising machine, which calculates a first partition candidate when a first cluster including multiple nodes is divided into a second cluster and a third cluster based on an Ising-type evaluation function including weight values ​​between multiple nodes; and an information processing device, which is configured to: obtain partition candidate information from the Ising machine, the partition candidate information representing multiple first partition candidates of multiple separate first partition patterns determined based on the number of nodes included in the first cluster; select one of multiple first partition candidates of multiple separate first partition patterns based on the value of the evaluation function of the multiple first partition candidates, and divide the first cluster into a second cluster and a third cluster; store the partition candidate information of the unselected first partition candidates among the multiple first partition candidates in a storage unit; determine whether there is an unselected first partition candidate corresponding to the second partition pattern of the second cluster based on the partition candidate information stored in the storage unit; and when it is determined that there is an unselected first partition candidate corresponding to the second partition pattern, select one of the second partition candidates of the second cluster including the unselected first partition candidate corresponding to the second partition pattern, and divide the second cluster into a fourth cluster and a fifth cluster.

[0013] Effects of the Invention

[0014] In one aspect, embodiments may reduce execution time of hierarchical clustering. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] Figure 1 is a diagram showing an exemplary data processing system according to the first embodiment;

[0016] Figure 2 is a block diagram showing exemplary hardware of an information processing device in a data processing system according to a second embodiment;

[0017] Figure 3 is a block diagram illustrating exemplary functions of a data processing apparatus;

[0018] Figure 4 is a flowchart showing an exemplary flow of a data processing method;

[0019] Figure 5 is a diagram showing an example of division candidate information of a first cluster;

[0020] Figure 6 is a diagram showing an example of extracted data of division candidate information related to nodes of a second cluster;

[0021] Figure 7 is a diagram showing an example of division candidate information of a second cluster generated from extracted data of division candidate information related to nodes of the second cluster;

[0022] Figure 8 is a diagram showing an example of extracted data of division candidate information related to nodes of a third cluster;

[0023] Fig. 9 is a diagram showing an example of division candidate information (storage target) of the third cluster generated from extracted data of the division candidate information related to the nodes of the third cluster;

[0024] Fig.10 is a diagram showing an example of division candidate information of the third cluster;

[0025] Fig.11 is a diagram showing an example of extracted data of division candidate information related to nodes of a fifth cluster;

[0026] Fig.12 is a diagram showing an example of division candidate information (storage target) of the fifth cluster generated from extracted data of the division candidate information related to the nodes of the fifth cluster;

[0027] Fig.13 is a diagram showing an example of division candidate information of a fifth cluster; and

[0028] Fig.14 It is shown based on Figure 5 A diagram of an exemplary phylogenetic tree showing the results of performing hierarchical clustering of the first cluster is shown. DETAILED DESCRIPTION

[0029] Hereinafter, modes for carrying out the embodiments will be described with reference to the drawings.

[0030] (First Embodiment)

[0031] Figure 1 is a diagram showing an exemplary data processing system according to the first embodiment.

[0032] The data processing system 10 performs divisive hierarchical clustering. The data processing system 10 includes an Ising machine 11 and an information processing device 12. The Ising machine 11 and the information processing device 12 may be coupled via a network or may be coupled via an interface. In addition, the Ising machine 11 may also be provided in the information processing device 12.

[0033] The Ising machine 11 may be implemented by, for example, a processor, which is hardware such as a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP), etc. In addition, the Ising machine 11 may be implemented by an electronic circuit such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), etc. In addition, the Ising machine 11 may be a quantum annealing machine.

[0034] The Ising machine 11 calculates a partition candidate when a cluster including a plurality of nodes is partitioned into two clusters based on an Ising type evaluation function. For example, the Ising type evaluation function in hierarchical clustering can be represented by the following equation (1).

[0035] [Formula 1]

[0036]

[0037] On the right side of formula (1), the first term is the objective function, and the second term is the constraint term. In formula (1), n ​​represents the number of nodes included in the cluster to be divided. The node numbers are represented by i and j.

[0038] In the objective function, x i and x j represents a binary variable with a value of "0" or "1". The values ​​"0" and "1" are used as labels to indicate the two clusters after the division. For example, the node with node number = i in x i =0 belongs to the cluster marked as “0” (hereinafter referred to as cluster “0”), and i =1, indicating that the node belongs to the cluster marked as "1" (hereinafter referred to as cluster "1"). The weight value (for example, similarity) between the node with node number = i and the node with node number = j is given by d ij To indicate. ij has a value equal to or greater than 0. For example, d ij The larger the value of indicates, the higher the degree of similarity. i and x j When d is 0 and 1 or 1 and 0 (i.e., when assigned to different clusters), ij The value to add to the evaluation function.

[0039] In the constraint term, α represents a positive integer. The value of α is set so that the value of the evaluation function becomes large when a constraint condition to be described later is not satisfied.

[0040] The expected value of the number of nodes belonging to cluster "1" is represented by c. The expected value of the number of nodes belonging to cluster "1" is a natural number between 1 and n / 2. In addition, c is determined by the division mode selected by the information processing device 12. For example, in the case of n=8, there are four division modes of the number of nodes [the number of nodes in cluster "1", the number of nodes in cluster "0"]=[1, 7], [2, 6], [3, 5], [4, 4]. When the information processing device 12 specifies the division mode [1, 7], c=1. When the information processing device 12 specifies the division mode [2, 6], c=2.

[0041] In the constraint terms, when i = 0 to n-1, x iWhen the sum is not c, that is, when a constraint violation occurs, the constraint term has a larger value. Since the Ising machine 11 searches for the n x where the value of the evaluation function becomes the local minimum i The combination of values ​​is thus less likely to be selected in which such a constraint violation occurs. That is, the number of nodes belonging to cluster "0" and the number of nodes belonging to cluster "1" can be indirectly controlled by the constraint item, and the node division candidates of the division pattern specified by the information processing device 12 can be calculated.

[0042] The Ising machine 11 searches for a state of the Ising model (composed of n x i The state where the value of H(x) reaches the minimum among the local minimum values ​​of the evaluation function is regarded as the optimal solution. Note that the processing unit 12b can also search for the state where the value of H(x) becomes the local maximum by changing the signs of the terms on the right side of equation (1) (in this case, the state where the maximum value is reached is regarded as the optimal solution).

[0043] The Ising machine 11 determines the value of x based on the comparison result between the change amount of the evaluation function and the threshold value. i Whether to allow changes in the value of the evaluation function when the value changes, and repeat the process of updating the value if the change is allowed. Examples of thresholds include noise values ​​obtained based on the values ​​of random numbers and temperature parameters. For example, log(rand)×T can be used as a threshold, which is an exemplary noise value obtained based on a uniform random number (rand) equal to or greater than 0 and equal to or less than 1 and a temperature parameter (T). By randomly accepting changes in the value increase of the evaluation function using such a threshold, it is possible to suppress the solution from being restricted to a local solution.

[0044] The Ising machine 11 may perform a simulated annealing method or a replica exchange method (also referred to as an exchange Monte Carlo method, etc.) which is a type of Markov chain Monte Carlo method. In the case of performing the simulated annealing method, for example, the Ising machine 11 determines whether to allow x i When the change of the value is repeated a predetermined number of times, the value of the temperature parameter (T) is reduced according to the predetermined temperature parameter change plan. Then, the Ising machine 11 will repeat the above determined predetermined number of times to terminate the n x i The combination of values ​​is output as partition candidate information representing the calculated partition candidates. i The value of the evaluation function obtained by combining the values.

[0045] In the case of executing the replica exchange method, the Ising machine 11 repeats the above-described determination of whether to allow x in each of the plurality of replicas in which different T values ​​are set. iThen, the Ising machine 11 performs replica exchange whenever the determination process, etc. is repeated a predetermined number of times. For example, the Ising machine 11 selects two replicas having adjacent T values, and exchanges n x between the replicas at a predetermined exchange probability based on the difference in the evaluation function value or the difference in the T value between the selected two replicas. i Note that we can exchange T values ​​between the two copies instead of exchanging n x i When the minimum value of the evaluation function is obtained in each replica, the Ising machine 11 stores n x i Then, the Ising machine 11 repeats the above determination process a predetermined number of times in each replica to terminate the stored evaluation function values ​​after which the n x corresponding to the minimum value of the evaluation function in all the replicas. i The combination of values ​​is output as the partition candidate information. In addition, the Ising machine 11 can output i The value of the evaluation function obtained by combining the values.

[0046] The information processing device 12 may be a client device, or may be a server device. The information processing device 12 may be referred to as a computer.

[0047] The information processing device 12 includes a storage unit 12a and a processing unit 12b. The storage unit 12a may be a volatile semiconductor memory such as a random access memory (RAM), or may be a non-volatile storage device such as a hard disk drive (HDD), a flash memory, or the like. Examples of the processing unit 12b include processors such as a CPU, a GPU, a DSP, or the like. However, the processing unit 12b may include an electronic circuit such as an ASIC, an FPGA, or the like. For example, the processor executes a program stored in a memory such as a RAM (which may be the storage unit 12a). A group of processors may be referred to as a multiprocessor or simply a "processor".

[0048] The storage unit 12a stores information about the division candidates that are not selected in the processing of the processing unit 12b to be described later. Note that the storage unit 12a may store information about the selected division candidates. In addition, the storage unit 12a may store the weight values ​​(d ij ).

[0049] The processing unit 12b obtains division candidate information indicating division candidates for each of a plurality of division patterns determined by the number of nodes included in the cluster to be divided from the Ising machine 11. Note that when the Ising machine 11 outputs the value of the evaluation function of the division candidate, the processing unit 12b can obtain the value.

[0050] Figure 1An example is shown in which the first cluster including seven nodes A to G is first divided. The processing unit 12 b sets n=7, c=1, 2, and 3, and d=1 between the nodes A to G in the Ising machine 11. ij The processing unit 12b can set the n x in the formula (1) in the Ising machine 11 i The initial value of , α, and other calculation conditions.

[0051] Therefore, the Ising machine 11 calculates each of the partition candidates of the three partition patterns [1, 6], [2, 5], and [3, 4]. Figure 1 In the example of FIG. 1 , an exemplary case is shown in which the partition candidates of the partition node A and the nodes B to G are calculated as the partition candidates of the partition pattern [1, 6]. In addition, an exemplary case is shown in which the partition candidates of the partition nodes A to C, G and F and the nodes D and E are calculated as the partition candidates of the partition pattern [2, 5]. In addition, an exemplary case is shown in which the partition candidates of the partition nodes A, D and E and the nodes B, C, F and G are calculated as the partition candidates of the partition pattern [3, 4].

[0052] The processing unit 12b selects one of the above plurality of corresponding division mode division candidates based on the value of the evaluation function of the above division candidate, and divides into two clusters. The processing unit 12b can calculate the value of the evaluation function by calculating equation (1) based on the obtained division candidate information.

[0053] For example, the processing unit 12b may select the partition candidate with the smallest value of the evaluation function for partitioning. However, in this case, there is a tendency that the frequency of occurrence of partitions that only separate nodes with the smallest weight values ​​relative to other nodes increases. In order to suppress such a tendency, the processing unit 12b may select the partition candidate using the value of the evaluation function normalized based on the following formula (2).

[0054] [Formula 2]

[0055]

[0056] In formula (2), it represents the normalized evaluation function (E) when a cluster is divided into two clusters (cluster P and cluster Q). norm ). The sum of the sum of the weight values ​​between the nodes classified as cluster P and the sum of the weight values ​​between the nodes classified as cluster P and the nodes classified as cluster Q is represented by assoc(cluster P). Similarly, assoc(cluster Q) represents the sum of the sum of the weight values ​​between the nodes classified as cluster Q and the sum of the weight values ​​between the nodes classified as cluster P and the nodes classified as cluster Q.

[0057] assoc(cluster P) and assoc(cluster Q) can be defined as the following equations (3) and (4).

[0058] [Formula 3]

[0059]

[0060] [Formula 4]

[0061]

[0062] The sth (s≥0)th node among the nodes classified into cluster P is represented by p s The tth (t≥0)th node among the nodes classified as cluster Q is represented by q t The comparison of node numbers is represented by q t >p s For example, since in q t = t4 and p s = t1, t4>t1 holds, so q t >p s Established.

[0063] Node p is classified into cluster P s and nodes q classified as cluster Q t The weight between them is determined by d psqt to represent (“s” is the subscript of p).

[0064] As a specific example, consider the Figure 1 Assoc(cluster P) and assoc(cluster Q) of the division candidate information 12a2 to be described later in the storage unit 12a in Figure 1 In FIG. 1 , the node numbers are represented by A to G, but here the node numbers are represented by t1 to t7. That is, it is assumed that the clustering classification results of the node numbers t1 to t7 of the division candidate information 12a2 are 0, 0, 0, 1, 1, 0, 0.

[0065] Assume that cluster P is cluster "0", and assume that cluster Q is cluster "1". In addition, the set of nodes belonging to cluster P will be represented as {t1, t2, t3, t6, t7} = {p0, p1, p2, p3, p4}. Similarly, the set of nodes belonging to cluster Q will be represented as {t4, t5} = {q0, q1}. At this time, assoc(cluster P) and assoc(cluster Q) can be represented by equations (5) and (6) using the weight values ​​between the nodes.

[0066] [Formula 5]

[0067]

[0068] [Formula 6]

[0069]

[0070] The processing unit 12b selects the one with the minimum E norm The partitioning candidates are used for partitioning.

[0071] The processing unit 12b stores the division candidate information of the division candidates that are not selected in the storage unit 12a.

[0072] exist Figure 1 In the example of , the division candidate of the division pattern [3, 4] is selected, and the first cluster is divided into a second cluster including nodes A, D and E and a third cluster including nodes B, C, F and G. In this case, the division candidate information 12a1 and 12a2 of the division pattern [1, 6] and the division pattern [2, 5] that are not selected are stored in the storage unit 12a. In the division candidate information 12a1 and 12a2, "0" and "1" are x in formula (1). i The value indicates whether each of the nodes A to G is classified into the above-mentioned cluster "0" or cluster "1". Note that the division candidate information 12a1 and 12a2 may be stored in a state of being separated into nodes included in the second cluster and nodes included in the third cluster, so as to facilitate reference in subsequent processing (see the description to be made later). Fig. 9 , Fig.12 In addition, the partition candidate information 12a1 and 12a2 may include the value of the evaluation function (E) of formula (1) and E norm The value of .

[0073] After that, the processing unit 12b performs the next level of clustering. Assume that in the previous level of clustering, Figure 1 The second cluster and the third cluster are obtained. The processing unit 12b determines whether there are unselected division candidates corresponding to the division pattern of the second cluster based on the division candidate information 12a1 and 12a2 stored in the storage unit 12a.

[0074] Because in Figure 1In the example, the number of nodes of the second cluster is three, so there is a partition pattern of [1, 2]. The second cluster includes nodes A, D, and E. Referring to the partition candidate information 12a1, node A is classified into cluster "1", and nodes D and E are classified into cluster "0", which indicates a partition candidate for performing a partition such that node A is included in a cluster different from nodes D and E. Similarly, the partition candidate information 12a2 indicates a partition candidate for performing a partition such that node A is included in a cluster different from nodes D and E. In this case, the processing unit 12b determines that there are unselected partition candidates corresponding to the partition pattern [1, 2] of the second cluster.

[0075] When it is determined that there are unselected partition candidates corresponding to the partition pattern of the second cluster, the processing unit 12b selects one of the partition candidates of the second cluster including the unselected partition candidates corresponding to the partition pattern. Then, the processing unit 12b divides the second cluster into the fourth cluster and the fifth cluster based on the selected partition candidate.

[0076] Because in Figure 1 In the example of , the division mode of the second cluster is only [1, 2], so the processing unit 12b selects the division candidate for division into node A and nodes D and E that is not selected. Then, the processing unit 12b divides the second cluster into a fourth cluster including node A and a fifth cluster including nodes D and E.

[0077] As a background for this determination, there is a possibility that the division candidate information of the division candidate that is not selected at the time of cluster division at a certain level includes information on a plurality of nodes to be divided in the cluster division at the next level because the weight value between these nodes is small. When such division candidate information is also used for the cluster division at the next level, the number of division candidates to be calculated by the Ising machine 11 can be reduced. That is, the number of times the solution is performed by the Ising machine 11 can be reduced.

[0078] Note that, when there is no unselected partition candidate corresponding to the partition pattern of the second cluster, the Ising machine 11 calculates the partition candidate corresponding to the partition pattern through the above process. In addition, when there are multiple partition patterns of the second cluster, the Ising machine 11 calculates the partition candidates of the partition patterns other than the partition pattern corresponding to the unselected partition candidate through the above process. In these cases, for example, based on E norm To select a division candidate, and store the division candidate information of the unselected division candidates in the storage unit 12a.

[0079] The third cluster is also processed in a similar manner to the second cluster. Figure 1In the example of the partition candidate information 12a1, nodes B, C, G, and F are classified into the same cluster "0", and are also classified into the same cluster "0" in the partition candidate information 12a2, which indicates that there are no unselected partition candidates corresponding to each partition pattern of the third cluster, so the Ising machine 11 calculates the partition candidates for each partition pattern of the third cluster. Then, the processing unit 12b performs processing similar to that performed on the first cluster.

[0080] The processing unit 12b performs the above processing until there is no cluster with the number of nodes equal to or greater than three. This is because a cluster with the number of nodes equal to two can be divided without calculating the division candidate. When there is no cluster with the number of nodes equal to or greater than three, the processing of the hierarchical clustering is terminated.

[0081] As described above, the data processing system 10 according to the first embodiment includes an Ising machine 11 and an information processing device 12. The Ising machine 11 calculates a partition candidate when a first cluster including a plurality of nodes is partitioned into a second cluster and a third cluster based on an Ising-type evaluation function including weight values ​​between a plurality of nodes. The information processing device 12 obtains partition candidate information indicating a plurality of partition candidates of separate partition patterns determined by the number of nodes included in the first cluster from the Ising machine 11. Then, the information processing device 12 selects one of the partition candidates of the plurality of separate partition patterns based on the value of the evaluation function of the partition candidate, and partitions the first cluster into a second cluster and a third cluster. In addition, the information processing device 12 stores the partition candidate information 12a1 and 12a2 of the unselected partition candidates in the storage unit 12a. Then, the information processing device 12 determines whether there is an unselected partition candidate corresponding to the partition pattern of the second cluster based on the partition candidate information 12a1 and 12a2. When it is determined that there are unselected partition candidates corresponding to the partition pattern of the second cluster, the information processing device 12 selects one of the partition candidates of the second cluster including the unselected partition candidates corresponding to the partition pattern. Then, the information processing device 12 divides the second cluster into the fourth cluster and the fifth cluster based on the selected partition candidate.

[0082] Therefore, the number of times the Ising machine 11 performs the solution can be reduced, and the execution time of the hierarchical clustering can be shortened. Figure 1In the case of the example, the partition pattern of nodes A, D, E included in the second cluster is obtained by referring to the classification results of nodes A, D, and E in the partition candidate information 12a1 and 12a2, so that the Ising machine 11 does not need to solve the partition candidates of the partition pattern [1, 2] of the second cluster. In a solution process for solving the partition candidates in the Ising machine 11, the above-mentioned determination process is repeated until a predetermined number of times is reached to terminate. Although the number of repetitions also affects the execution time of the hierarchical clustering, it is difficult to estimate the appropriate number of times in advance. Therefore, the data processing system 10 reduces the number of times it solves itself in the Ising machine 11, thereby achieving a reduction in the execution time of the hierarchical clustering.

[0083] (Second Embodiment)

[0084] Next, a second embodiment will be described.

[0085] Figure 2 2 is a block diagram showing exemplary hardware of an information processing device in a data processing system according to the second embodiment. The information processing device 21 in the data processing system 20 may be a client device, or may be a server device. The information processing device 21 may be referred to as a computer.

[0086] The information processing device 21 includes a CPU 31, a RAM 32, a HDD 33, a GPU 34, an input interface 35, a medium reader 36, and a communication interface 37 coupled to a bus. The CPU 31 corresponds to the processing unit 12b in the first embodiment. The RAM 32 or the HDD 33 corresponds to the storage unit 12a in the first embodiment.

[0087] The CPU 31 is a processor that executes program commands. The CPU 31 loads a program stored in the HDD 33 into the RAM 32 to execute the program. The information processing apparatus 21 may include a plurality of processors.

[0088] The RAM 32 is a volatile semiconductor memory that temporarily stores programs to be executed by the CPU 31 and data to be used for arithmetic operations by the CPU 31. The information processing apparatus 21 may include a type of volatile memory other than the RAM.

[0089] The HDD 33 is a nonvolatile storage device that stores data and programs of software such as an operating system (OS), middleware, application software, etc. The information processing device 21 may include another type of nonvolatile storage device such as a flash memory or a solid state drive (SSD).

[0090] The GPU 34 performs image processing in cooperation with the CPU 31, and outputs an image to a display device 34a coupled to the information processing device 21. The display device 34a is, for example, a cathode ray tube (CRT) display, a liquid crystal display, an organic electroluminescent (EL) display, or a projector. Another type of output device such as a printer may be coupled to the information processing device 21.

[0091] Furthermore, the GPU 34 may be used as a general purpose computing graphics processing unit (GPGPU). The GPU 34 may execute a program in response to an instruction from the CPU 31. The information processing apparatus 21 may include a volatile semiconductor memory other than the RAM 32 as a GPU memory.

[0092] The input interface 35 receives an input signal from an input device 35a coupled to the information processing device 21. The input device 35a is, for example, a mouse, a touch panel, or a keyboard. A plurality of input devices may be coupled to the information processing device 21.

[0093] The medium reader 36 is a reading device that reads the program and data recorded on the recording medium 36a. The recording medium 36a is, for example, a magnetic disk, an optical disk, or a semiconductor memory. Examples of magnetic disks include a floppy disk (FD) and an HDD. Examples of optical disks include a compact disk (CD) and a digital versatile disk (DVD). The medium reader 36 copies the program and data read from the recording medium 36a to another recording medium, such as the RAM 32, the HDD 33, etc. The read program can be executed by the CPU 31.

[0094] The recording medium 36a may be a portable recording medium. The recording medium 36a may be used for distribution of programs and data. In addition, the recording medium 36a and the HDD 33 may be referred to as computer-readable recording media.

[0095] The communication interface 37 communicates with the Ising machine 22 and another information processing device via the network 37a. The communication interface 37 may be a wired communication interface coupled to a wired communication device such as a switch or a router, or may be a wireless communication interface coupled to a wireless communication device such as a base station or an access point.

[0096] The Ising machine 22 corresponds to the Ising machine 11 in the first embodiment. The Ising machine 22 can be implemented by, for example, a processor, which is hardware such as a CPU, a GPU, a DSP, etc. In addition, the Ising machine 22 can be implemented by an electronic circuit such as an ASIC, an FPGA, etc. Note that the Ising machine 22 can be included in another information processing device coupled to the network 37a. In addition, the Ising machine 22 can be coupled to a bus of the information processing device 21 via an interface. In addition, the Ising machine 22 can be included in the information processing device 21.

[0097] Next, the functions and processing procedures of the information processing device 21 will be described.

[0098] Figure 3 is a block diagram illustrating exemplary functions of a data processing apparatus.

[0099] The information processing apparatus 21 includes an input unit 40, a solution processing control unit 41, a division candidate writing unit 42, a division candidate storage unit 43, a division candidate reading unit 44, and an output unit 45. The division candidate storage unit 43 is equipped using, for example, the RAM 32 or the HDD 33. The input unit 40, the solution processing control unit 41, the division candidate writing unit 42, the division candidate reading unit 44, and the output unit 45 are equipped using, for example, the CPU 31 and a program.

[0100] The input unit 40 receives inputs such as information on a plurality of nodes to be subjected to hierarchical clustering, calculation conditions, etc. The information on the nodes includes, for example, the number n of nodes and the weight value d in equation (1): ij The calculation conditions include, for example, the number of replicas in the case of executing the replica exchange method, the replica exchange cycle, and the value of the temperature parameter set for each replica, the temperature parameter change plan in the case of executing the simulated annealing method, the calculation end condition, etc. The information about the node and the calculation conditions can be input by the user's operation on the input device 35a, or can be input via the recording medium 36a or the network 37a.

[0101] The solution processing control unit 41 performs hierarchical clustering while causing the Ising machine 22 to perform partition candidate solution processing based on input information about nodes and calculation conditions. The solution processing control unit 41 sends partition candidate information about partition candidates that are not used for cluster partitioning (unselected partition candidates) among the partition candidates solved by the Ising machine 22 to the partition candidate writing unit 42. In addition, the solution processing control unit 41 sends the partition mode and information about the nodes in the cluster to be divided to the partition candidate reading unit 44. Then, when the partition candidate reading unit 44 determines that there is a partition candidate corresponding to the sent information about the nodes and the partition mode, the solution processing control unit 41 obtains the partition candidate information about the partition candidate. The solution processing control unit 41 selects the partition candidate based on, for example, E of formula (2) norm , selects one of the division candidate indicated by the division candidate information sent from the division candidate reading unit 44 and other division candidates (if any). Then, the solution processing control unit 41 performs cluster division based on the selected division candidate.

[0102] The division candidate writing unit 42 writes the division candidate information sent from the solution processing control unit 41 into the division candidate storage unit 43 .

[0103] The division candidate storage unit 43 stores division candidate information.

[0104] The division candidate reading unit 44 reads the division candidate information stored in the division candidate storage unit 43. Then, the division candidate reading unit 44 determines whether there is a division candidate corresponding to the information about the node and the division pattern transmitted by the solution processing control unit 41. When it is determined that there is a corresponding division candidate, the division candidate reading unit 44 transmits the division candidate information about the division candidate to the solution processing control unit 41.

[0105] The output unit 45 outputs the execution result of the hierarchical clustering performed by the solution processing control unit 41. For example, the execution result of the hierarchical clustering can be output in a form such as a phylogenetic tree. For example, the output unit 45 can output the execution result to the display device 34a for display, send the execution result to another information processing device via the network 37a, or store the execution result in an external storage device.

[0106] Hereinafter, an exemplary processing procedure (data processing method) will be described in which the data processing system 20 performs hierarchical clustering.

[0107] Figure 4 is a flowchart showing an exemplary flow of a data processing method.

[0108] Step S10: The input unit 40 receives input of information on nodes, calculation conditions, and the like.

[0109] Step S11: The solution control unit 41 creates n / 2 c represented in formula (1) based on the number n of nodes in the cluster included in the information about the node. In the case of n=10, there are five division patterns of the number of nodes [the number of nodes in cluster "1", the number of nodes in cluster "0"]=[1,9], [2,8], [3,7], [4,6], [5,5]. In this case, the number of c is c=1, 2, 3, 4, 5.

[0110] Step S12: The division candidate reading unit 44 determines whether the division candidate corresponding to the information on the node and the division pattern transmitted by the solution processing control unit 41 has been stored in the division candidate storage unit 43. If it is determined that the corresponding division candidate has been stored in the division candidate storage unit 43, the process of step S13 is performed, and if it is determined that it has not been stored, the process of step S15 is performed.

[0111] Step S13: The division candidate reading unit 44 determines whether all the division candidates corresponding to the information on the node and the division pattern transmitted by the solution processing control unit 41 have been stored in the division candidate storage unit 43. If it is determined that all the corresponding division candidates have been stored in the division candidate storage unit 43, the process of step S16 is performed, and if it is determined that some of the corresponding division candidates have not been stored, the process of step S14 is performed.

[0112] Step S14: The solution processing control unit 41 causes the Ising machine 22 to solve for the partition candidates regarding the partition pattern that have not been stored. The solution processing control unit 41 obtains the partition candidate information regarding the obtained partition candidates. Thereafter, the process of step S16 is performed.

[0113] Step S15: Since the division candidates corresponding to n / 2 division patterns have not been stored, the solution processing control unit 41 causes the Ising machine 22 to solve the division candidates. The solution processing control unit 41 obtains division candidate information on the obtained division candidates.

[0114] Step S16: The solution control unit 41 calculates E of n / 2 partition candidates based on equation (2). norm value.

[0115] Step S17: The solution control unit 41 selects the one with the minimum E norm The partition candidates of the values ​​are used to perform cluster partitioning.

[0116] Step S18: The solution processing control unit 41 sends partition candidate information about partition candidates that have not been used for cluster partitioning (unselected partition candidates) among the partition candidates solved by the Ising machine 22 to the partition candidate writing unit 42. The partition candidate writing unit 42 writes and stores the partition candidate information sent from the solution processing control unit 41 in the partition candidate storage unit 43.

[0117] Step S19: The solution processing control unit 41 updates the information about the nodes based on the result of cluster division. For example, based on the result of cluster division, the information about the nodes in the cluster before division (e.g., the node number and the number of nodes n) is updated to the information about the nodes in the two newly generated clusters.

[0118] Step S20: The solution processing control unit 41 determines whether there is a cluster satisfying n≥3. If it is determined that there is a cluster satisfying n≥3, the process of step S21 is performed. If it is determined that there is no cluster satisfying n≥3, the process of step S22 is performed.

[0119] Step S21: The solution processing control unit 41 selects a cluster satisfying n ≥ 3. Thereafter, the processing starting from step S11 is repeated for the selected cluster.

[0120] Step S22: The output unit 45 outputs the execution result. Therefore, the process is terminated.

[0121] (A concrete example of hierarchical clustering)

[0122] Next, an example of dividing the first cluster in a case where the number of nodes n=10 will be described.

[0123] Figure 5 : is a diagram showing an example of the division candidate information of the first cluster. In the division candidate information 50 of the first cluster, the node numbers are represented by t1 to t10. References t1 to t10 correspond to i and j in equation (1).

[0124] In the case of n=10, there are five division patterns of the number of nodes in the first cluster [the number of nodes in cluster "1", the number of nodes in cluster "0"]=[1, 9], [2, 8], [3, 7], [4, 6], [5, 5]. Note that division patterns in which the number of nodes in cluster "0" and the number of nodes in cluster "1" are opposite to each other are regarded as the same division pattern. That is, for example, the division pattern [1, 9] and the division pattern [9, 1] are regarded as the same division pattern [1, 9].

[0125] Figure 5 The exemplary partitioning candidates solved by the Ising machine 22 for the above five partitioning patterns based on the processing of the above step S15 are shown. The partitioning candidate solved for the partitioning pattern [1, 9] is to partition the node t8 from other nodes. The partitioning candidate solved for the partitioning pattern [2, 8] is to partition the nodes t2 and t4 from other nodes. The partitioning candidate solved for the partitioning pattern [3, 7] is to partition the nodes t1, t3, and t4 from other nodes. The partitioning candidate solved for the partitioning pattern [4, 6] is to partition the nodes t1 to t4 from the nodes t5 to t10. The partitioning candidate solved for the partitioning pattern [5, 5] is to partition the nodes t1 to t4 and t8 from other nodes.

[0126] Figure 5 An example E calculated by the solution processing control unit 41 in the process of step S16 is shown. norm Value. Figure 5 In the example, the partition candidate E of the partition pattern [4, 6] norm The value is the smallest. Therefore, in the process of step S17, the division candidate of the division pattern [4, 6] is selected to perform the division of the cluster into nodes t1 to t4 and nodes t5 to t10.

[0127] In this case, in the process of step S18, the division candidate information about the division candidates of the division patterns [1, 9], [2, 8], [3, 7], [5, 5] which are unselected division candidates is stored in the division candidate storage unit 43.

[0128] However, the solution processing control unit 41 can generate the partition candidate information in a manner that the partition is separated into two separate clusters for reference in the next level of processing (the processing of step S12). Hereinafter, the cluster including nodes t1 to t4 of the two clusters after the partition will be referred to as the second cluster, and the cluster including nodes t5 to t10 will be referred to as the third cluster.

[0129] Figure 6 is a diagram showing an example of extracted data of division candidate information related to nodes of the second cluster.

[0130] By Figure 5 The partition candidate information 50 shown is extracted from the partition candidate information related to the nodes included in the second cluster, and the extracted data 51a of the partition candidate information related to the nodes of the second cluster is obtained. The solution control unit 41 generates the partition candidate information of the second cluster based on the extracted data 51a.

[0131] like Figure 6 As shown, the division candidate of the division pattern that classifies all nodes t1 to t4 into cluster "0" or "1" is excluded from the division candidate of the second cluster. The division candidate information of such a division candidate is not used as the division candidate information of the second cluster and is not stored.

[0132] The division candidates of the division pattern that classifies the nodes t1 and t3 into cluster “0” and classifies the nodes t2 and t4 into cluster “1” (corresponding to the second cluster) are determined as the division candidates of the division pattern [2, 2] of the second cluster.

[0133] The division candidates of the division pattern that classifies the nodes t1 , t3 , and t4 into cluster “1” and classifies the node t2 into cluster “0” are determined as the division candidates of the division pattern [1, 3] of the second cluster.

[0134] Figure 7 is a diagram showing an example of division candidate information of the second cluster generated from extracted data of division candidate information related to nodes of the second cluster.

[0135] The second clustering division candidate information 52a includes the division candidate information of the above two division patterns [1, 3] and [2, 2]. Figure 7 In the example of FIG. 1 , E is calculated by the solution processing control unit 41 based on the division candidate information of the division candidates of the division patterns [1, 3] and [2, 2].norm The value is also included in the division candidate information 52a.

[0136] Such division candidate information 52a is stored in the division candidate storage unit 43. Note that the number of nodes of the second cluster n=4, there are only the above two division patterns. Therefore, the Ising machine 22 does not solve the division candidate, and selects one of the above two division candidates to perform cluster division.

[0137] exist Figure 7 In the example, the partition candidate of the partition pattern [2, 2] has the smallest E norm The value is obtained, and thus the partition candidate is selected. Then, nodes t1 and t3 and nodes t2 and t4 are partitioned.

[0138] Figure 8 is a diagram showing an example of extracted data of division candidate information related to nodes of the third cluster.

[0139] By Figure 5 The partition candidate information 50 shown is extracted from the partition candidate information 50 and related to the nodes included in the third cluster, and the extracted data 51b of the partition candidate information related to the nodes of the third cluster is obtained. The solution control unit 41 generates the partition candidate information of the third cluster based on the extracted data 51b.

[0140] like Figure 8 As shown, the division candidate of the division pattern that classifies all nodes from t5 to t10 into cluster "0" (corresponding to the third cluster) is excluded from the division candidates of the third cluster. The division candidate information of such division candidates is not used as the division candidate information of the third cluster and is not stored.

[0141] The partition candidate of the partition pattern that classifies node t8 into cluster "1" and other nodes into cluster "0" is determined as the partition candidate of the partition pattern [1, 5] of the third cluster. Similarly, the partition candidate of the partition pattern that classifies node t8 into cluster "0" and other nodes into cluster "1" is determined as the partition candidate of the partition pattern [1, 5].

[0142] Fig. 9 : is a diagram showing an example of division candidate information (storage target) of the third cluster generated from extracted data of the division candidate information related to the nodes of the third cluster.

[0143] The third clustering division candidate information 52b includes the division candidate information of the above-mentioned division pattern [1, 5]. Fig. 9 In the example of FIG. 1 , E is calculated by the solution processing control unit 41 based on the division candidate information of the division candidates of the division pattern [1, 5]. normThe value is also included in the division candidate information 52b.

[0144] Such division candidate information 52b is stored in the division candidate storage unit 43. Note that since the number of nodes of the third cluster is n=6, in addition to the above-mentioned division pattern [1, 5], there are also division patterns [2, 4] and [3, 3]. Therefore, the Ising machine 22 solves the division candidates of the remaining two division patterns that are not stored in the division candidate storage unit 43.

[0145] Fig.10 is a diagram showing an example of division candidate information of the third cluster. Fig.10 The partition candidate information 53 of the third cluster shown also includes partition candidate information of the partition candidates of the partition patterns [2, 4] and [3, 3] solved by the Ising machine 22. Fig.10 In the example of norm The value is also included in the division candidate information 53 of the division candidates of the division patterns [2, 4] and [3, 3].

[0146] choose Fig.10 One of the three partition candidates is used to perform cluster partitioning.

[0147] exist Fig.10 In the example, the partition candidate of partition mode [2, 4] has the smallest E norm The value is obtained, and thus the partition candidate is selected. Then, nodes t6 and t8 and nodes t5, t7, t9, and t10 are partitioned.

[0148] Hereinafter, the cluster including the nodes t6 and t8 of the divided two clusters will be referred to as a fourth cluster, and the cluster including the nodes t5, t7, t9, and t10 will be referred to as a fifth cluster.

[0149] Since the number of nodes of the fourth cluster is two, n≥3 is not satisfied, the fourth cluster is not selected in the process of step S21. On the other hand, since the number of nodes of the fifth cluster is four, n≥3 is satisfied, the fifth cluster is selected in the process of step S21 to perform further cluster division.

[0150] Fig.11 is a diagram showing an example of extracted data of division candidate information related to nodes of the fifth cluster.

[0151] By Fig.10 The partition candidate information 53 shown extracts partition candidate information related to nodes included in the fifth cluster, and obtains extracted data 53a of partition candidate information related to nodes of the fifth cluster. The solution control unit 41 generates partition candidate information of the fifth cluster based on the extracted data 53a.

[0152] like Fig.11 As shown, the division candidate of the division pattern that classifies all nodes t5, t7, t9 and t10 into cluster "0" is excluded from the division candidates of the fifth cluster. The division candidate information of such division candidates is not used as the division candidate information of the fifth cluster and is not stored.

[0153] The division candidates of the division pattern that classifies the nodes t5 , t9 , and t10 into the cluster “1” and classifies the node t7 into the cluster “0” are determined as the division candidates of the division pattern [1, 3] of the fifth cluster.

[0154] Fig.12 : is a diagram showing an example of division candidate information (storage target) of the fifth cluster generated from extracted data of the division candidate information related to the nodes of the fifth cluster.

[0155] The fifth clustering division candidate information 54 includes the division candidate information of the above-mentioned one division pattern [1, 3]. Fig.12 In the example of FIG. 1 , E is calculated by the solution processing control unit 41 based on the division candidate information of the division candidates of the division pattern [1, 3]. norm The value is also included in the division candidate information 54.

[0156] Such division candidate information 54 is stored in the division candidate storage unit 43. Note that since the number of nodes of the fifth cluster is n=4, in addition to the above-mentioned division pattern [1, 3], there is also a division pattern [2, 2]. Therefore, the Ising machine 22 solves the division candidate of the division pattern [2, 2] which is not stored in the division candidate storage unit 43.

[0157] Fig.13 is a diagram showing an example of division candidate information of the fifth cluster. Fig.13 The partition candidate information 55 of the fifth cluster shown also includes partition candidate information of the partition candidate of the partition pattern [2, 2] solved by the Ising machine 22. Fig.13 In the example of norm The value is also included in the division candidate information 55 of the division candidates of the division pattern [2, 2].

[0158] choose Fig.13 One of the two partition candidates in is used to perform cluster partitioning.

[0159] exist Fig.13 In the example, the partition candidate of the partition pattern [2, 2] has the smallest E norm The value is obtained, and thus the partition candidate is selected. Then, nodes t5 and t7 and nodes t9 and t10 are partitioned.

[0160] Hereinafter, the cluster including the nodes t5 and t7 of the divided two clusters will be referred to as a sixth cluster, and the cluster including the nodes t9 and t10 will be referred to as a seventh cluster.

[0161] The number n of nodes is two in both the sixth cluster and the seventh cluster, which does not satisfy n ≥ 3. Since there is no other cluster satisfying n ≥ 3, the execution result is output (step S22), and the process is terminated.

[0162] Fig.14 It is shown based on Figure 5 A diagram of an exemplary phylogenetic tree showing the results of performing hierarchical clustering of the first cluster is shown.

[0163] Fig.14 An execution result 60 is shown when hierarchical clustering is performed on a first cluster 61 of which the number of nodes is n=10 according to the above-described process. Each block represents a cluster, and the number in the block represents the number of nodes of the cluster.

[0164] When hierarchical clustering is performed according to the above-described process, the number of times the Ising machine 22 is caused to solve for partition candidates is as follows.

[0165] When dividing the first cluster 61 of n=10, the Ising machine 22 is used to solve Figure 5 There are five division candidates for the division patterns shown, and therefore the number of times the solution is performed is five.

[0166] When dividing the second cluster 62 with n=4, the candidate division information 50 obtained when dividing the first cluster 61 is obtained. Figure 7 The partition candidates of the two partition patterns are shown. Therefore, the number of times the Ising machine 22 performs the solution is zero.

[0167] When dividing the third cluster 63 of n=6, the candidate division information 50 obtained when dividing the first cluster 61 is obtained. Fig.10 One of the partition candidates of the three partition patterns shown. Therefore, the number of times the Ising machine 22 performs the solution is two.

[0168] When dividing the fifth cluster 64 with n=4, the candidate division information 53 obtained when dividing the third cluster 63 is obtained. Fig.13 One of the partition candidates of the two partition patterns shown. Therefore, the number of times the Ising machine 22 performs the solution is one.

[0169] As described above, the number of times the solution is performed by the Ising machine 22 is eight in total. The number of times the solution is performed by the Ising machine 22 without using the partition candidate information in the previous hierarchy is 12 because the number is half the total number of nodes of each cluster to be partitioned (the first cluster 61, the second cluster 62, the third cluster 63, and the fifth cluster 64). Therefore, in the data processing system 20 according to the second embodiment, the number of times the solution is performed is reduced by four times. Therefore, the execution time of the hierarchical clustering can be shortened.

[0170] Hereinafter, a comparative example of the execution time between a process (hereinafter referred to as a comparative example process) not using the division candidate information in the previous hierarchy and the above-mentioned process in the data processing system 20 according to the second embodiment will be described. Assume that the comparative example process does not include Figure 4 The processing of steps S12 to S14 and S18 in .

[0171] For example, it is assumed that the execution time of the common processing (reading of input data, etc.) of the comparative example processing and the processing performed by the data processing system 20 is 1.0×10 3 (ms). Note that the common processing indicates processing such as reading of input data, and excludes the solution processing performed by the Ising machine 22. It is assumed that the time taken for the solution processing performed by the Ising machine 22 is 50 (ms) per solution processing. In addition, it is assumed that in the data processing system 20, Figure 4 The time taken for steps S12 to S14 in is 0.5 (ms), and the time taken for step S18 is 0.1 (ms). Figures 5 to 14 In the illustrated example, it is assumed that the processing of steps S12 to S14 is performed 7 times, and the processing of step S18 is performed 12 times.

[0172] In this case, when the number of times the solution is performed is 12, the execution time of the comparative example processing is 50×12+1.0×10 3 =1.6×10 3 (ms).

[0173] On the other hand, when the number of solutions is 8, the execution time of the data processing method executed by the data processing system 20 is 50×8+0.1×12+0.5×7+1.0×10 3 =1.4×10 3 (ms).

[0174] As described above, the data processing method executed by the data processing system 20 achieves a 12% reduction in execution time compared to the comparative example processing.

[0175] (Application Example)

[0176] For example, when clustering is performed based on similarities between a plurality of gene sequences to create a phylogenetic tree, a data processing method (eg, see reference 1) executed by the data processing system 20 may be used.

[0177] Reference 1: ONODERA, Wataru et al., “Phylogenetic tree reconstruction viagraph cut presented using a quantum-inspired computer”, Molecular Phylogenetics and Evolution, Vol. 178, January 2023.

[0178] In this case, each gene sequence can be used as a node, and d in (1) ij It can be used as the similarity between gene sequences. Since the execution time of hierarchical clustering can be shortened by using the data processing system 20 according to the second embodiment, the time taken to create a phylogenetic tree for a large number of gene sequences can be shortened.

[0179] Furthermore, the data processing method executed by the data processing system 20 (see, for example, reference 2) may also be applied, for example, when classifying topics for creating a thesaurus (thesaurus, dictionary, etc.).

[0180] Reference 2: KAJI, Hiroyuki, MORIMOTO, Yasutsugu, AIZONO, Toshiko, "Extracting a Topic Hierarchy from a Text Corpus", Transactions of Information Processing Society of Japan, Vol. 44, No. 2, pp. 405-420, February 2003.

[0181] In this case, each term can be used as a node, and d in (1) ij It can be used as the correlation between terms. Since the execution time of hierarchical clustering can be shortened by using the data processing system 20 according to the second embodiment, the time taken to classify topics regarding a large number of terms can be shortened.

[0182] Furthermore, the data processing method executed by the data processing system 20 can also be applied when performing speech classification in speech recognition, for example (see, for example, Reference 3).

[0183] Reference 3: MIYAGAKI, Ryoichi and KAWABATA, Takeshi, “Clustering of PhoneHMMs based on Top-down and Bottom-up Approaches,” IPSJ SIG Technical Reports, Vol. 2010-SLP-82, No. 12, pp. 1–6, July 2010.

[0184] In this case, each triphone (three consecutive phonemes) can be used as a node, and d in equation (1) ij It can be used as the similarity between triphones. Since the execution time of hierarchical clustering can be shortened by using the data processing system 20 according to the second embodiment, the time taken for speech classification with respect to a large number of triphones can be shortened.

[0185] Although three examples of applications of the data processing method of the data processing system 20 according to the second embodiment have been briefly described above, applicable applications are not limited to the above examples. The data processing method of the data processing system 20 according to the second embodiment can be applied to various applications that perform hierarchical clustering.

[0186] Although one aspect of the data processing system, the program, and the data processing method according to the embodiment has been described based on the embodiment, these are merely examples and are not limited to the above description.

Claims

1. A data processing system, comprising: An Ising machine that calculates a first partition candidate when partitioning a first cluster including the plurality of nodes into a second cluster and a third cluster based on an Ising-type evaluation function including weight values ​​between the plurality of nodes; as well as An information processing device configured to: obtaining partition candidate information from the Ising machine, the partition candidate information representing a plurality of first partition candidates of a plurality of separate first partition patterns determined based on the number of nodes included in the first cluster; selecting one of the plurality of first partition candidates of the plurality of separate first partition patterns based on the values ​​of the evaluation functions of the plurality of first partition candidates, and dividing the first cluster into the second cluster and the third cluster; storing the partition candidate information of the first partition candidates that are not selected among the plurality of first partition candidates in a storage unit; Based on the partition candidate information stored in the storage unit, determining whether there is the unselected first partition candidate corresponding to the second partition pattern of the second cluster; as well as When it is determined that the unselected first partition candidate corresponding to the second partition pattern exists, one of the second partition candidates of the second cluster including the unselected first partition candidate corresponding to the second partition pattern is selected, and the second cluster is divided into a fourth cluster and a fifth cluster.

2. The data processing system according to claim 1, wherein: the division candidate information of the unselected first division candidate includes second division candidate information to be used for dividing the second cluster and third division candidate information to be used for dividing the third cluster, and The information processing device generates the second division candidate information based on information about nodes included in the second cluster, and generates the third division candidate information based on information about nodes included in the third cluster.

3. The data processing system according to claim 2, wherein: The second partition candidate information includes the second partition mode and the number of nodes included in the second cluster, and The third division candidate information includes a third division pattern of the third cluster and the number of nodes included in the third cluster.

4. A storage medium storing a program for causing an Ising machine to calculate a first partition candidate when partitioning a first cluster including a plurality of nodes into a second cluster and a third cluster based on an Ising-type evaluation function including weight values ​​between the plurality of nodes, and for causing a computer to execute a process comprising: obtaining partition candidate information from the Ising machine, the partition candidate information representing a plurality of first partition candidates of a plurality of separate first partition patterns determined based on the number of nodes included in the first cluster; selecting one of the plurality of first partition candidates of the plurality of separate first partition patterns based on the values ​​of the evaluation functions of the plurality of first partition candidates, and dividing the first cluster into the second cluster and the third cluster; storing the partition candidate information of the first partition candidates that are not selected among the plurality of first partition candidates in a memory; Based on the partition candidate information stored in the memory, determining whether there is the unselected first partition candidate corresponding to the second partition pattern of the second cluster; as well as When it is determined that the unselected first partition candidate corresponding to the second partition pattern exists, one of the second partition candidates of the second cluster including the unselected first partition candidate corresponding to the second partition pattern is selected, and the second cluster is divided into a fourth cluster and a fifth cluster.

5. A data processing method, comprising: calculating, by an Ising machine, a first partition candidate when partitioning a first cluster including the plurality of nodes into a second cluster and a third cluster based on an Ising-type evaluation function including weight values ​​between the plurality of nodes; as well as The processing is performed by a computer, the processing comprising: obtaining partition candidate information from the Ising machine, the partition candidate information representing a plurality of first partition candidates of a plurality of separate first partition patterns determined based on the number of nodes included in the first cluster; selecting one of the plurality of first partition candidates of the plurality of separate first partition patterns based on the values ​​of the evaluation functions of the plurality of first partition candidates, and dividing the first cluster into the second cluster and the third cluster; storing the partition candidate information of the first partition candidates that are not selected among the plurality of first partition candidates in a memory; determining whether there is the unselected first partition candidate corresponding to the second partition pattern of the second cluster based on the partition candidate information stored in the memory; and When it is determined that the unselected first partition candidate corresponding to the second partition pattern exists, one of the second partition candidates of the second cluster including the unselected first partition candidate corresponding to the second partition pattern is selected, and the second cluster is divided into a fourth cluster and a fifth cluster.

Citation Information

Patent Citations

  • Information processing system and information processing method

    WO2020255634A1