Information processing apparatus, information processing method, and program

By introducing the inference unit in the information processing device, it is estimated that the appropriate solution device is estimated to solve the problem that it is difficult to determine the appropriate solution device in advance in the existing technology, and achieve the goal of obtaining optimal or close to the optimal solution.

CN119343682APending Publication Date: 2025-01-21SONY GROUP CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202380045360.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-06-15
Filing Date
2023-05-30
Publication Date
2025-01-21

AI Technical Summary

Technical Problem

It is difficult to determine a solver suitable for specific optimization problems in advance, such as existing quantum annealers, non-quantum annealers, non-annealing Isin machines, gate-type quantum computers + QAOA, and other information processing devices, resulting in the possibility of obtaining non-optimal solutions.

Method used

A kind of information processing device is designed, including the inferred unit, which is estimated to be suitable for solving the solution device that is suitable for solving the mathematical formula generated by a combination optimization problem model from two or more solving devices. Through the preparatory learning training model, it is inferred that the unit can choose the most suitable solution device during the service provision stage.

Benefits of technology

In the case of achieving a solution device that can obtain the optimal solution or closer to the optimal solution without a lot of time and cost, it improves the solution efficiency of optimization problems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119343682A_ABST
    Figure CN119343682A_ABST
Patent Text Reader

Abstract

An information processing device according to an embodiment is provided with an estimation device that estimates, from among two or more solvers, a solver suitable for solving a mathematical formula generated from a combinatorial optimization problem model.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to an information processing device, an information processing method, and a program. Background Art

[0002] In recent years, information processing devices that use Ising machines to solve combinatorial optimization problems expressed by Hamiltonian problems, such as the Ising model, have been developed. Examples of information processing devices using Ising machines include quantum annealers, non-quantum annealers (also called quantum concept annealers), non-annealing Ising machines, and combinatorial optimization algorithms that combine gate-type quantum computers and QAOA (quantum approximate optimization algorithm) (hereinafter also referred to as gate-type quantum computers + QAOA).

[0003] Reference List

[0004] Patent Literature

[0005] Patent Document 1: WO 2016 / 199220 A Summary of the invention

[0006] Technical issues

[0007] Information processing devices such as the quantum annealer, non-quantum annealer, non-annealing Ising machine, and gate-type quantum computer + QAOA described above (hereinafter also referred to as "solvers") are designed by different algorithms. Therefore, there are good and bad problems depending on the characteristics of the algorithm.

[0008] However, it is difficult to know in advance which solver is suitable for a specific optimization problem. Therefore, there is no guarantee that a user who wants to solve an optimization problem will choose a solver suitable for the optimization problem, and there is a problem that the solution obtained by the solver is not necessarily the optimal solution or a solution close to the optimal solution.

[0009] Therefore, the present disclosure proposes an information processing device, an information processing method, and a program that allow an optimal solution or a solution closer to the optimal solution to be obtained.

[0010] Solutions to the Problem

[0011] In order to solve the aforementioned problem, an information processing apparatus according to one embodiment of the present disclosure includes an inference unit that estimates a solver suitable for solving a mathematical formula generated from a combinatorial optimization problem model from among two or more solvers. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] Figure 1 is a block diagram showing a schematic configuration example of an information processing system according to an embodiment of the present disclosure.

[0013] Figure 2is a diagram showing an example of a schematic flow of a preliminary learning phase according to the present embodiment.

[0014] Figure 3 is a diagram showing an example of a schematic flow of a service provision phase according to the present embodiment.

[0015] Figure 4 is a diagram showing a configuration example of a question model according to the present embodiment.

[0016] Figure 5 : is a diagram showing an example of Ising machine selection information according to the present embodiment.

[0017] Figure 6 is a diagram showing an example of a creation tool according to the present embodiment.

[0018] Figure 7 : is a diagram showing a text expression example for setting constraint conditions according to the present embodiment.

[0019] Figure 8 It is a diagram for describing the flow when setting a purpose item in the constraint condition according to the present embodiment using the GUI.

[0020] Fig. 9 It is a diagram for describing a flow when setting constraint items in the constraint conditions according to the present embodiment using the GUI.

[0021] Fig.10 is a diagram showing a display example of a solution to the maximum cut problem according to the present embodiment.

[0022] Fig.11 is a diagram showing a display example of a solution to the traveling salesman problem according to the present embodiment.

[0023] Fig.12 1 is a diagram for explaining a case where the combinatorial optimization problem model in the present embodiment is a traveling salesman problem (part 1).

[0024] Fig.13 is a diagram (part 2) for explaining the case where the combinatorial optimization problem model in this embodiment is the traveling salesman problem.

[0025] Fig.14 is a diagram (part 3) for explaining the case where the combinatorial optimization problem model in this embodiment is the traveling salesman problem.

[0026] Fig.15 is a diagram (Part 4) for explaining the case where the combinatorial optimization problem model in this embodiment is the traveling salesman problem.

[0027] Fig.16is a diagram (part 1) for explaining the case where the combinatorial optimization problem model in the present embodiment is a graph coloring problem.

[0028] Fig.17 is a diagram (part 2) for explaining the case where the combinatorial optimization problem model in the present embodiment is a graph coloring problem.

[0029] Fig.18 is a diagram for explaining the case where the combinatorial optimization problem model in this embodiment is a graph coloring problem (Part 3).

[0030] Fig.19 : is a diagram (part 1) for explaining a case where the combinatorial optimization problem model in the present embodiment is a maximum clique problem.

[0031] Fig. 20 2 is a diagram for explaining a case where the combinatorial optimization problem model in the present embodiment is a maximum clique problem (Part 2).

[0032] Fig.21 3 is a diagram for explaining a case where the combinatorial optimization problem model in the present embodiment is a maximum clique problem (Part 3).

[0033] Fig. 22 4 is a diagram for explaining a case where the combinatorial optimization problem model in the present embodiment is a maximum clique problem (Part 4).

[0034] Fig.23 is a diagram for explaining a case where the combinatorial optimization problem model in the present embodiment is a maximum clique problem (Part 5).

[0035] Fig.24 is a diagram for explaining a case where the combinatorial optimization problem model in the present embodiment is a maximum clique problem (Part 6).

[0036] Fig.25 is a diagram (part 1) for explaining a case where the combinatorial optimization problem model in the present embodiment is a maximum cut problem.

[0037] Fig.26 is a diagram for explaining a case where the combinatorial optimization problem model in the present embodiment is a maximum cut problem (Part 2).

[0038] Fig. 27 is a diagram for explaining a case where the combinatorial optimization problem model in the present embodiment is a maximum cut problem (Part 3).

[0039] Fig.28 is a sequence diagram for explaining the system configuration and operation according to the first example of the present embodiment.

[0040] Fig.29is a sequence diagram for explaining the system configuration and operation according to the second example of the present embodiment.

[0041] Fig.30 is a sequence diagram for explaining the system configuration and operation according to the third example of the present embodiment.

[0042] Fig.31 is a sequence diagram for explaining the system configuration and operation according to the fourth example of the present embodiment.

[0043] Fig.32 is a hardware configuration diagram illustrating an example of an information processing device that executes various processes according to the present disclosure. DETAILED DESCRIPTION

[0044] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. It should be noted that in the following embodiments, the same parts are denoted by the same reference numerals, and repeated description will be omitted.

[0045] Furthermore, the present disclosure will be described according to the following item order.

[0046] 0. Introduction

[0047] 1. An embodiment

[0048] 1.1、Schematic system configuration example

[0049] 1.2 Schematic process example

[0050] 1.2.1 Preparatory learning stage

[0051] 1.2.2 Service provision phase

[0052] 1.3、Configuration of Problem Model 114 / 214

[0053] 1.4. Problem size and complexity 115 / 215

[0054] 1.5. Solve 111 to 113 / 223

[0055] 1.6 Ising Machine Selection Information 221

[0056] 1.7. Example of a GUI for creating a combinatorial optimization problem model

[0057] 1.8. Example of setting constraints through a program

[0058] 1.9. Example of setting constraints via GUI

[0059] 1.9.1. Example of setting the destination item

[0060] 1.9.2. Example of setting constraints

[0061] 1.10. Solution display example

[0062] 1.11. Example of transformation from combinatorial optimization problem model to Ising model

[0063] 1.11.1. Traveling Salesman Problem

[0064] 1.11.2 Graph Coloring Problem

[0065] 1.11.3. Maximum Clique Problem

[0066] 1.11.4. Maximum Cut Problem

[0067] 1.12 System Configuration Example

[0068] 1.12.1 First Example

[0069] 1.12.2 Second Example

[0070] 1.12.3. Third Example

[0071] 1.12.4. Fourth Example

[0072] 2. Hardware Configuration

[0073] 0. Introduction

[0074] In solvers such as quantum annealers, non-quantum annealers (also called quantum concept annealers), non-annealing Ising machines, or gate-type quantum computers + QAOA that use the Ising model to solve combinatorial optimization problems expressed by Hamiltonian problems such as the Ising model, there may be good problems and bad problems due to the characteristics of the algorithm. Therefore, there are cases where it is difficult to pre-select a solver suitable for a specific optimization problem.

[0075] Here, it is conceivable to select the optimal solver after solving the problem in all solvers, but this requires a lot of time and cost. In addition, even in the same problem, when the input data is different, the trend of the problem will change, so the optimal solver specified for specific input data may not be optimal for other input data. In these cases, selecting the optimal solver by pre-solving in all solvers cannot be said to be an effective means.

[0076] Therefore, in the following embodiments, it is possible to pre-specify which solver is suitable for a particular optimization problem. As a result, the user can select a solver that can obtain an optimal solution or a solution closer to the optimal solution without a lot of time and cost.

[0077] 1. An embodiment

[0078] Hereinafter, an information processing device, an information processing method, and a program according to an embodiment of the present disclosure will be described in detail with reference to the accompanying drawings.

[0079] 1.1、Schematic system configuration example

[0080] Figure 1 1 is a block diagram showing a schematic configuration example of an information processing system according to the present embodiment. Figure 1 As shown in the figure, the information processing system 1 has the following configuration: a server 10, a database (DB) 11 and one or more clients 12a, 12b... (hereinafter, the figure mark is 12 without distinguishing between individual clients 12a, 12b...) are communicably connected to each other through a network 13.

[0081] The network 13 may be, for example, various networks capable of mutual communication, such as a wired or wireless local area network (LAN) (including WiFi), a wide area network (WAN), the Internet, a mobile communication system (including 4G (4th generation mobile communication system), 4G-LTE (Long Term Evolution), 5G, etc.), Bluetooth (registered trademark), and infrared communication.

[0082] The server 10 is, for example, an example of an information processing device according to the present disclosure, and implements a service that provides a user with an optimal solver for a specific combinatorial optimization problem or information for selecting an optimal solver from a plurality of solvers, or a solution obtained by an optimal solver for a specific combinatorial optimization problem. It should be noted that the server 10 may include one server or a plurality of servers. In addition, the server 10 may include one or more cloud servers arranged on the network 13.

[0083] The client 12 is an information processing device for a user to obtain a solution to a specific combinatorial optimization problem using a service provided by the server 10 , and may be, for example, a personal computer, a smartphone, a tablet terminal, a head mounted display (HMD), or the like.

[0084] 1.2 Schematic process example

[0085] Next, the process of using the service of the information processing system 1 according to the present embodiment will be described. The service according to the present embodiment includes a preliminary learning phase for training a learning model so as to propose an optimal solver to a user, and a service provision phase for proposing or providing an optimal solver to a user by using the learned model, or providing a solution derived by using an optimal solver to a user, wherein the optimal solver is selected based on an output from the learned model. It should be noted that, in order to simplify the description, the solver will be described as an Ising machine below, but the Ising machine is not limited to an Ising machine such as a quantum annealer, a non-quantum annealer, or a non-annealing Ising machine, but may include other solvers such as a gate-type quantum computer + QAOA.

[0086] 1.2.1 Preparatory learning stage

[0087] Figure 2 1 is a diagram showing an example of a schematic flow of the preparatory learning phase according to the present embodiment. Figure 2 As shown in , in the preliminary learning stage according to the present embodiment, as a preparation for providing services to users, a learning model is trained to estimate which solver is suitable for each of various combinatorial optimization problem models.

[0088] In the specific procedure, firstly, existing combinatorial optimization problem models 101 or newly created combinatorial optimization problem models 102 are collected to create a set 103 of combinatorial optimization problem models.

[0089] A combinatorial optimization problem model 105 is sequentially selected from a set 103 of combinatorial optimization problem models (step 104). The selected combinatorial optimization problem model 105 is input to a compiler (also referred to as a converter) 106. In addition, the configuration 114 of the selected combinatorial optimization problem model 105 is used for updating the learning model 116, and is used for learning the learning model or relearning the learned model. It should be noted that in the following description, a processor or a certain area on a processor in which a learning model and a learned model are executed is also referred to as an inference unit. In addition, the learning model and the learned model can be mathematical models using machine learning. However, the inference unit is not limited to the learned model using machine learning, but various changes can be made, such as using a statistical method to estimate the processing unit of the optimal solver from the combination of past accumulated optimization problems, solvers, and scores obtained when solving the optimization problem by each solver.

[0090] The compiler 106 compiles the input combinatorial optimization problem model 105, thereby converting the combinatorial optimization problem model 105 into an Ising model 107 expressed by a mathematical formula such as a Hamiltonian problem. It should be noted that the Ising model in this specification may be a quadratic unconstrained binary optimization (QUBO). The created Ising model 107 is input to each of two or more Ising machines 108 to 110 prepared in advance. It should be noted that the compiler 106 can generate a plurality of Ising models 107 from one combinatorial optimization problem model 105. In this case, each of the generated plurality of Ising models 107 can be input to two or more Ising machines 108 to 110 for solving.

[0091] As described above, each of the Ising machines 108 to 110 may be various solvers, such as a quantum annealer, a non-quantum annealer, a non-annealing Ising machine, or a gate-type quantum computer + QAOA. In addition, each of the Ising machines 108 to 110 may be an Ising machine provided from the same or different vendors, and the provision form thereof may be various forms such as web services (including cloud services) and downloads.

[0092] The solutions 111 to 113 outputted from the Ising machines 108 to 110 respectively with respect to the input of the Ising model 107 are provided for the update 116 of the learning model and are used for learning the learning model or relearning the learned model. In addition to the solution finally obtained as the output, these solutions 111 to 113 may each include information such as a convergence curve of the solution. It should be noted that in the case where a plurality of Ising models 107 are generated from one combinatorial optimization problem model 105, in the update 116 of the learning model, the learning of the learning model or relearning of the learned model may be performed using the solution obtained by solving each of the plurality of Ising models 107.

[0093] In addition, the compiler 106 specifies information about the scale, complexity, etc. of the combinatorial optimization problem model 105 to be compiled (hereinafter also referred to as problem scale and complexity 115). The specified problem scale and complexity 115 are provided for updating the learning model 116 and are used for learning the learning model or relearning the learned model.

[0094] In the updating 116 of the learning model, the learning of the learning model or the re-learning of the learned model is performed using a combination of at least one of the configuration 114 of the input problem model and the problem scale and complexity 115 and the solutions 111 to 113 from the Ising machines 108 to 110 as teaching data. The updating 116 of the learning model can be performed by the learning unit of the server 10 or the client 12.

[0095] By performing the aforementioned processing on one or more or all combinatorial optimization problem models 105 included in the set 103 of combinatorial optimization problem models, the estimation accuracy of the learned model 117 is improved. The learned model 117 is used to implement service provision for users.

[0096] 1.2.2 Service provision phase

[0097] Figure 3 FIG. 2 is a diagram showing an example of a schematic flow of a service provision phase according to the present embodiment. Figure 3 As shown in , in the service provision stage according to the present embodiment, the user creates a combinatorial optimization problem model 205 from a combinatorial optimization problem 201 for which an optimal solution is desired. It should be noted that in the case where the combinatorial optimization problem has been modeled, the steps (202, 203) of creating the combinatorial optimization problem model 205 from the combinatorial optimization problem 201 can be omitted.

[0098] As a method for creating a combinatorial optimization problem model 205 from the combinatorial optimization problem 201, various methods can be used, such as a method for creating a combinatorial optimization problem model 205 by describing the combinatorial optimization problem 201 in a programming language (step 202), a method for creating a combinatorial optimization problem model 205 from the combinatorial optimization problem 201 using a creation tool such as a graphical user interface (GUI) or a creation auxiliary tool (step 203), etc.

[0099] In addition, steps 202 and 203 of creating a combinatorial optimization problem model 205 from the combinatorial optimization problem 201 may be performed in a processing unit (also referred to as a model creation unit) in the server 10 or the client 12. For example, in step 202, the model creation unit may provide a user with an environment for describing the combinatorial optimization problem model 205 in a programming language. In addition, in step 203, the model creation unit may provide a user with a GUI for creating the combinatorial optimization problem model 205 or assisting in the creation of the combinatorial optimization problem model 205.

[0100] The created combinatorial optimization problem model 205 is input to the compiler 206 and converted into an Ising model 207. In addition, the configuration 214 of the created combinatorial optimization problem model 205 can be input to the inference unit 220 and used for the update 216 of the learning model to be used for re-learning of the learned model. It should be noted that the compiler 206 can generate multiple Ising models 207 similar to the compiler 106.

[0101] The inference unit 220 can be implemented by executing the learned model 117 trained in the preliminary learning stage on the processor. In addition to the configuration 214 of the problem model described above, information (problem scale and complexity 215) on the scale, complexity, etc. of the combinatorial optimization problem model 205 specified at the time of compiling of the compiler 206 is also input to the inference unit 220. The inference unit 220 uses the configuration 214 of the problem model and the problem scale and complexity 215 related to the combinatorial optimization problem model 205 to be solved as input, and outputs an inference result indicating which Ising machine (solver) is suitable for solving the combinatorial optimization problem model 205. It should be noted that the problem scale and complexity 215 specified at the time of compiling can be used for updating 216 of the learning model, and for re-learning of the learned model.

[0102] The inference result output from the inference unit 220 is given as the Ising machine selection information 221 for the solution 222 of the problem. In the solution 222 of the problem, the solution of the Ising model 207 is performed using the Ising machine specified by the Ising machine selection information 221. In the case of the present embodiment, the Ising machine specified by the Ising machine selection information 221 may be Figure 2 It should be noted that the input of the Ising model 207 for the specified Ising machine may be performed by the control unit of the server 10 or the client 12.

[0103] The solution 223 output from the Ising machine in the solution 222 of the problem is provided to the user. In addition, the solution 223 can be used for the update 216 of the learning model and for the re-learning of the learned model 117. It should be noted that in addition to the solution finally obtained as an output, the solution 223 may include information such as a convergence curve of the solution.

[0104] It should be noted that the inference unit 220 is not limited to the machine learning-based method using the learned model 117 described above, and the optimal Ising machine can be estimated using a statistical method. That is, the inference unit 220 can be configured to indicate the Ising machine that is estimated to be the most effective for the combination of the combinatorial optimization problem model to be solved and the input data based on the accumulated data related to the solutions performed by the Ising machine in the past (such as the combinatorial optimization problem model and the correspondence between the combination of input data and the solution).

[0105] In the updating 216 of the learning model, the learned model is relearned using a combination of at least one of the configuration 214 of the problem model and the problem scale and complexity 215 and a solution 223 obtained from the Ising machine specified by the Ising machine selection information 221 as teaching data, thereby improving the accuracy of the learned model. The updating 216 of the learning model can be performed by a learning unit in the server 10 or the client 12.

[0106] 1.3、Configuration of Problem Model 114 / 214

[0107] Next, the configuration 114 / 214 of the problem model described above will be described. Figure 4 : is a diagram showing a configuration example of a problem model according to the present embodiment. Figure 4 As shown in , the configuration 114 / 214 of the problem model (that is, the constituent elements of the combinatorial optimization problem model) may include data format and constraint conditions. The data format may include the format of input data and the format of the solution, and the constraint conditions may include constraint items and purpose items.

[0108] The format of the input data may be, for example, information indicating the data format of the combinatorial optimization problem, such as a graph, a set, a list, or a table.

[0109] The format of the solution may be, for example, a format indicating a solution obtained by the Ising machine, such as a numerical value of a path, a subset, or a graph.

[0110] Constraint items may be, for example, information that specifies constraints that the solution is to satisfy, constraints on the data structure of the solution, etc., such as "the graph (becomes) a directed cyclic graph", "each node (has) a value", or "the nodes at both ends of the edge (have) different values".

[0111] The purpose item may be, for example, information that specifies conditions that the solution is to satisfy, such as "the sum of edge distances is the smallest", "the number of vertices in the partial graph is the largest", and "the sum of edge weights is the largest".

[0112] You can specify the input data format, solution format, and the number of constraint terms and goal terms. Figure 4 In the example shown, "one or more" is specified as the number of input data formats, "one or more" is specified as the number of solution formats, "0 or more" is specified as the number of constraint items, and "0 to 1" is specified as the number of destination items.

[0113] In each of the input data format, solution format, constraint terms, and purpose terms, set the strength of the term as its attribute. Figure 4 In the example shown, "always satisfy" is set as the input data format, solution format, and constraint items, and "satisfy as much as possible" is set as the purpose item.

[0114] In the foregoing configuration, the data format is converted into a constraint item that is a constraint expressed using a binary variable. For example, in a case where the input data format is "graph", the solution format is "graph path", "one or more" is set to the number specified for each item, and "always satisfied" is set to the strength of the item, the data format is converted into a constraint item for applying a constraint of "one cycle and the order of all nodes is two".

[0115] 1.4. Problem size and complexity 115 / 215

[0116] The problem scale and complexity 115 / 215 described above may, for example, include the number of variables and the number of interaction coefficients constituting the combinatorial optimization problem model 105 / 205. In addition, the problem scale and complexity 115 / 215 may include the range (digit) of the numerical value of the input data. This is because the range of numerical values ​​that can be handled or good may be different according to the Ising machine. It should be noted that the number of interaction coefficients may be the number of edges connecting nodes, etc. The range may be a range specified by the number of binary or decimal digits, such as 0 to 255 or 128 to 1023.

[0117] 1.5. Solve 111 to 113 / 223

[0118] As described above, in addition to the final solution obtained as output from each Ising machine, Figure 2 Ising machines 108 to 110 and used in Figure 3 The solutions 111 to 113 / 223 output by the Ising machine in the solution 222 of the problem in may include information such as a convergence curve of the solution. The convergence curve of the solution may be a value of an energy function at a constant number of iterations or a constant elapsed time during the solution of the Ising machine. In this case, the convergence curve of the solution can be estimated from the value of the energy function at a constant number of iterations or a constant elapsed time.

[0119] 1.6 Ising Machine Selection Information 221

[0120] Figure 5 is a diagram showing an example of Ising machine selection information according to the present embodiment. Figure 5 As shown in FIG. 2 , the Ising machine selection information 221 output from the inference unit 220 may include information for each Ising machine (eg, Figure 3The Ising machine selection information 221 is used to select the Ising model for solving the combinatorial optimization problem model 205 based on the fitness of each Ising machine provided as the Ising machine selection information 221. However, the present invention is not limited thereto, and various modifications may be made to the Ising machine selection information 221, for example, by configuring information for specifying or selecting the Ising model with the highest score.

[0121] However, the present invention is not limited thereto, and for example, the Ising machine may be configured to be selected by a textual expression such as a programming language. For example, it may be configured to select the Ising machine with the highest fitness by a syntax such as "sampler=get_appropriate_samplers(problem)[0]". In addition, for example, it may be configured to select a specific Ising machine by a syntax such as "sasmper=get_sampler("Ising machine X")".

[0122] 1.7. Example of a GUI for creating a combinatorial optimization problem model

[0123] Next, for example, we will describe Figure 3 A creation tool (GUI) for the combinatorial optimization problem model 205 in step 203 is shown. Figure 6 is a diagram showing an example of a creation tool according to the present embodiment.

[0124] like Figure 6 As shown in , the GUI panel of the creation tool includes an area 301 for selecting an input data format, an area 302 for specifying a function to be associated with one or more input data being created, and an area 303 for visually displaying the configuration of the input data being created / edited (configuration of the problem model). In addition, the GUI panel may include an area 304 for inputting instructions such as "storing" a created or updated file or "reading" a new file, an area 305 for performing editing work such as adding new nodes, edges, etc. or deleting unnecessary nodes, edges, etc. on the input data being created / edited, an area 306 for editing the attributes (name, value, etc.) of the nodes, edges, etc. selected in area 303, and an area 307 for inputting instructions such as obtaining data output from an external program.

[0125] But as mentioned before Figure 3 As described in step 202 of , it is also possible to use text expressions such as programming languages ​​to create a combinatorial optimization problem model. In this case, the input data format can be specified, for example, by the type declaration of the variable as shown below.

[0126] Example: graph_x=Graph(data_from_networkx)

[0127] 1.8. Example of setting constraints through a program

[0128] Next, a case where constraints are set by textual expressions such as programming languages ​​will be described. In the following description, for the sake of clarity, a case where the combinatorial optimization problem is a traveling salesman problem will be exemplified.

[0129] Figure 7 The present invention is a diagram showing examples of textual expressions for setting constraint conditions according to the present embodiment, wherein (A) shows an example of a case where "the graph becomes a directed cyclic graph" is set as a constraint item of the constraint condition, and (B) shows an example of a case where "the sum of edge weights (distances) is minimized" is set as the objective item.

[0130] As shown in FIG. (A), in the case where the constraint condition is expressed by words, for example, the constraint item "graph becomes a directed cycle graph" is described by setting "directeed_cycle_graph" as the constraint defined by "constraint" and specifying "graph_x" in the target graph. That is, the description is made in the order of "constraint", "directeed_cycle_graph" and "graph_x" in the syntax.

[0131] In addition, as shown in FIG. (B), the objective item "minimize the sum of edge weights (distances)" is described, for example, by setting "minimize" as the predicate of the objective item "objective", specifying "sum" of "the weights" as the objective item, and specifying "graph_x" as the syntax of the target graph. That is, the syntax is described in the order of "objective", "minimize", "sum", "weight" and "graph_x". In such a syntax, "objective", "minimize", "sum" and "weight" correspond to the configuration 114 / 214 of the problem model described above.

[0132] 1.9. Example of setting constraints via GUI

[0133] Next, a case where the constraint conditions are set using the GUI will be described. It should be noted that in the following description, a case where the combinatorial optimization problem is the traveling salesman problem will be similarly exemplified for clarity.

[0134] 1.9.1. Example of setting the destination item

[0135] Figure 8 This is a diagram used to describe the process of setting the objective item in the constraint condition using the GUI. Figure 8 , (1) to (5) indicate the order in which the options are presented to the user.

[0136] like Figure 8 As shown in (1), an input field 401 for setting a "constraint item" or "purpose item" in a constraint condition is first displayed to the user. The input field 401 can be configured to allow selection of a "constraint item" and a "purpose item" from a drop-down menu, or can be configured to allow setting by text input.

[0137] When Figure 8 When the "purpose item" is set in the input field 401 in (1), the user is presented with an input field 402 for setting the predicate and an input field 403 for setting the purpose, so that the grammar shown in (2) (see, for example, Figure 7 (B)). It should be noted that the input field 402 and the input field 403 may be configured to display selection candidates through a pull-down menu, or may be configured to be settable through text input. In addition, when a pull-down menu is used, the selection candidates presented to the user may be narrowed down from the settings for other items to the candidates.

[0138] exist Figure 8 In (2), when "minimum" is set in the input field 402 of the predicate and "sum" is set in the input field 403 of the purpose, it is unknown what the sum is, and the purpose is incomplete. Therefore, as shown in (3), an input field 404 for additionally setting the missing item of the purpose ("What?") is displayed to the user. That is, in the present embodiment, the GUI is configured so that when the items necessary to complete the grammar are insufficient, input fields for setting the items are sequentially added. It should be noted that the input field 404 can be configured to display selection candidates through a drop-down menu as described above, or can be configured to be set through text input.

[0139] exist Figure 8 In (3), when "weight" is set in the input field 404 of the purpose and the purpose is completed, an input field 405 for setting a target graph is displayed to the user as shown in (4). It should be noted that the input field 405 can be set to display selection candidates through a pull-down menu as described above, or can be configured to be set through text input.

[0140] Then, if Figure 8As shown in (5) of FIG. 4 , when “graph_x” is set in the input field 405 for setting the target graph and the syntax is completed, the purpose item (“minimize the sum of the weights (distances) of the edges”) in the constraint condition is set.

[0141] However, if no weights are set for nodes or edges in the target graph "graph_x" as input data, for example, Figure 6 The GUI shown in is used to prompt the user to set the insufficient weight for the node or edge.

[0142] In addition, Figure 8 The example shown illustrates the case where the grammar of the destination item is set in the order of predicate, purpose and destination path, but the present invention is not limited thereto. For example, various modifications can be made so that the grammar is set in the order of destination map, purpose and predicate. At this time, in the case of contradictions in the grammar after or during creation, a warning can be issued each time to guide the user to create the correct grammar.

[0143] 1.9.2. Example of setting constraints

[0144] Fig. 9 This is a diagram used to describe the process of setting constraints using the GUI in the constraint conditions. Fig. 9 , (1) to (3) indicate the order in which the options are presented to the user.

[0145] and Figure 8 As in (1), the user first displays an input field 401 for setting a "constraint item" or "purpose item" in the constraint condition (see Fig. 9 (1) in the figure.

[0146] exist Fig. 9 In (1), when the "constraint item" is set in the input field 401, an input field 412 for setting the constraint and an input field 413 for setting the target graph are displayed to the user to set the syntax shown in (2) (see, for example, Figure 7 It should be noted that the input field 412 and the input field 413 may be configured to display selection candidates through a pull-down menu as described above, or may be configured to be settable through text input.

[0147] exist Fig. 9 In (2), when "follow the path of the node" is set in the input column 412 of the constraint and "graph_x" is set in the input column 413 for setting the target graph to complete the syntax, the constraint item in the constraint condition (which must be set to "follow the path of the node") is set.

[0148] It should be noted that, in the case where the combinatorial optimization problem is the traveling salesman problem, the superordinate concept "must be set to "follow the path of the node"" set as the constraint item is replaced with the subordinate concept "the order of the node is two and the path forms a cycle". In this way, by providing a function of dropping the items set by the superordinate concept into the subordinate concept, it is possible to set constraints having contents that are easy for the user to understand.

[0149] In addition, Fig. 9 The number of target graphs selected in (3) is not limited to one, and may be multiple. In this case, an input bar for setting the graph to be added may be newly displayed. However, it is assumed that one or more target graphs include a graph selected as a target graph when setting the purpose item.

[0150] As described above, by using GUI to set constraints, it is possible to create a combinatorial optimization problem model in an interactive manner. In addition, since the necessary information can be mastered in advance on the information processing system 1 side, the information processing system 1 can actively query the user for necessary information. As a result, the combinatorial optimization problem model can be constructed neither more nor less. In addition, it is not only possible to narrow down the options that will be presented as constraints next according to the constraints that have been input and the input data format, but also possible to prompt the user to input new necessary constraints or input format information about the constraints that have been input, so that the user's setting work can be made more efficient. In addition, by configuring the items set by the superordinate concept to fall into the subordinate concept on the information processing system 1 side, the user can input constraints at the level of the expression method used for the problem to be solved rather than at the level close to the mathematical formulas such as the Ising model, so more users can use the information processing system 1 without the need for professional knowledge.

[0151] 1.10. Solution display example

[0152] Next, we will describe Figure 3 An example of display of solution 223 obtained by solving 222 of the problem in FIG. Fig.10 and 11 is a diagram showing a display example of a solution according to the present embodiment. It should be noted that Fig.10 is a diagram showing a display example of a solution in a case where the combinatorial optimization problem is a maximum cut problem, Fig.11 is a diagram showing a display example of a solution in a case where the combinatorial optimization problem is a traveling salesman problem.

[0153] like Fig.10 In problems such as the maximum cut problem that classify nodes in a graph, the nodes are color-coded for each classification (in Fig.10222 (see Figure 3 )The solution obtained is 223.

[0154] like Fig.11 As shown in , in problems of obtaining paths in a graph such as the traveling salesman problem, the order of the paths obtained can be visually expressed by expressing the order of the paths obtained by attaching numbers to nodes, edges, etc., edges with arrows, etc. (see Figure 3 )The solution obtained is 223.

[0155] But if Fig.10 and 11 The method of presenting solution 223 to the user shown in is not limited to a visualization method using a GUI or the like, and various changes such as textual expression may be made. For example, in the case of the maximum cut problem, identifiers (numbers, etc.) may be pre-attached to the nodes as in "[2,4,5], [1,3]", and the nodes classified by the solution may be provided to the user by methods such as placing the nodes in brackets. Furthermore, in the case of the traveling salesman problem, the traveling salesman problem may be presented to the user by a method of pre-attaching identifiers (numbers, etc.) to the nodes, and describing the order of the nodes followed in the obtained path in sequence from left to right.

[0156] 1.11. Example of conversion from combinatorial optimization problem model to Ising model

[0157] Next, some specific examples will be used to describe the transformation from the combinatorial optimization problem model to the Ising model.

[0158] 1.11.1. Traveling Salesman Problem

[0159] First, the case of the traveling salesman problem will be described in detail. The traveling salesman problem is a problem of searching for the shortest distance route that always passes through N (N is an integer greater than or equal to 2) cities once. Figures 12 to 15 2 is a diagram for explaining a case where the combinatorial optimization problem model in this embodiment is a traveling salesman problem.

[0160] In this embodiment, first Fig.12 As shown in , constraint conditions 502 are set for input data 501. In this example, input data 501 can be an undirected graph, where Fig.13 The positional relationship of two or more nodes that are not connected by edges is described as shown in , and the nodes may be cities to be followed.

[0161] Next, regarding the input data 501 as described above, edges are defined between all nodes, and weights according to distances are added between nodes. Thus, the traveling salesman problem ( Figure 2 Step 102 in Figure 3 202 or 203 in step 204).

[0162] like Fig.14 As shown in , by the compiler ( Figure 2 Compiler 106 in Figure 3 The compiler 206 in the embodiment compiles the created combinatorial optimization problem model to generate a corresponding Ising model ( Figure 2 The Ising model 107, Figure 3 The mathematical formula (also called code) of the Ising model 207) is Fig.14 , the two items on the left are the codes of the constraint items, and the one item on the right is the code of the destination item. It should be noted that "the graph forms a directed cycle" set by the user as a constraint item can be replaced by "the order of the nodes is two and the paths form a cycle" which can be expressed by a mathematical formula, and then mathematized.

[0163] As described above, this can be achieved by using an Ising machine ( Figure 2 Ising machines 108 to 110, Figure 3 The solution to the problem in 222 is obtained by solving the Ising model expressed by a mathematical formula to obtain the solution to the traveling salesman problem ( Figure 2 Solutions 111 to 113 in Figure 3 It should be noted that the solution can be obtained in Fig.15 The directed graph in which the edges have directions as shown in (A) may be presented to the user, may be presented to the user using a combination table as shown in (B), or may be presented to the user using text expressions as described above.

[0164] 1.11.2 Graph Coloring Problem

[0165] Next, the graph coloring problem is described in detail. The graph coloring problem is a problem of determining whether N nodes (N is an integer greater than or equal to 2) can be colored with M colors (M is an integer greater than or equal to 2) so that adjacent nodes do not have the same color. Figures 16 to 18 2 is a diagram for explaining a case where the combinatorial optimization problem model in the present embodiment is a graph coloring problem.

[0166] In this embodiment, first Fig.16As shown in , constraints 512 are set for input data 511. In this example, the input data 511 may include an undirected graph and a color number. Similar to the traveling salesman problem, the undirected graph may be a graph describing the positional relationship between two or more nodes that are not connected by edges. In addition, the color number may be the number of colors used for the color coding of the nodes.

[0167] Next, with respect to the input data 511 as described above, edges are defined between nodes that are not colored with the same color. Thus, the graph coloring problem ( Figure 2 Step 102 in Figure 3 202 or 203 in step 204).

[0168] like Fig.17 As shown in , by the compiler ( Figure 2 Compiler 106 in Figure 3 The compiler 206 in the embodiment compiles the created combinatorial optimization problem model to generate a corresponding Ising model ( Figure 2 The Ising model 107 and Figure 3 The mathematical formula (also called code) of the Ising model 207) is Fig.17 In the code, the item on the left is the code of the constraint item, and the item on the right is the code of the destination item.

[0169] As described above, this can be achieved by using an Ising machine ( Figure 2 Ising machines 108 to 110, Figure 3 The solution to the problem in 222 is the Ising machine in the Ising model expressed by a mathematical formula to obtain the solution to the graph coloring problem ( Figure 2 Solutions 111 to 113 in Figure 3 It should be noted that the solution can be obtained in Fig.18 The diagram in which nodes are color-coded as shown in (A) may be presented to the user, may be presented to the user using a combination table as shown in (B), or may be presented to the user using textual expressions as described above.

[0170] 1.11.3. Next, we will describe the maximum clique problem in detail.

[0171] The maximum clique problem is to find the largest clique among the cliques (a set of nodes that satisfies the condition that there is an edge between any two nodes) in a graph. Figures 19 to 24 2 is a diagram for describing a case where the combinatorial optimization problem model in the present embodiment is a maximum clique problem.

[0172] In this embodiment, first Fig.19As shown in , by setting constraints 522 for input data 521, the maximum clique problem is described by a combinatorial optimization problem model ( Figure 2 Step 102 in Figure 3 In step 202 or 203 of the embodiment, the input data 521 may be an undirected graph. The undirected graph may be a graph describing the positional relationship between two or more nodes connected by edges.

[0173] Next, if Fig. 20 As shown in , by the compiler ( Figure 2 Compiler 106 in Figure 3 The compiler 206 in the embodiment compiles the created combinatorial optimization problem model to generate a corresponding Ising model ( Figure 2 The Ising model 107, Figure 3 The mathematical formula (also called code) of the Ising model 207) is Fig. 20 In the code, the item on the left is the code of the constraint item, and the item on the right is the code of the destination item.

[0174] Here, as a method of formulating the purpose item, various methods can be considered. In this specification, two of the various methods will be described as examples.

[0175] -Method 1

[0176] First, Case 1 will be described. Figures 21 to 23 is a diagram for explaining method 1. Fig.21 Showing the original undirected graph G as input data 521, Fig. 22 Show Fig.21 Supplementary Figure H shows the undirected graph G shown in . Fig. 22 In the , the independent set S (the set of nodes that are not connected by any edges) of the supplementary graph H can have the same meaning as the clique of the undirected graph G.

[0177] When Fig. 22 When there is an independent set S in the supplementary figure H shown, the following formula (1) is established.

[0178]

[0179] Therefore, in method 1, the Ising model obtained by compiling the created combinatorial optimization problem model is as shown in the following formula (2).

[0180]

[0181] -Method 2

[0182] Next, method 2 will be described. In method 2, a graph in which the number of edges in k nodes (k is an integer greater than or equal to 3) is k(k-1) / 2 is defined as a cluster. Here, when the nodes forming the cluster are set to x v When =1, the definition of the group can be expressed by the following formula (3).

[0183] a、x of K nodes among n nodes v Serves 1

[0184] -(K-Σ v∈V x,) 2 =0

[0185] b. The number of edges whose xv is 1 at both endpoints is

[0186]

[0187] Then, when introducing Fig.23 When the slack variable representing the number of nodes k shown in (see the following formula (4)), the formula (3) described above can be expressed as the following formula (5).

[0188]

[0189] Therefore, in method 2, the Ising model obtained by compiling the created combinatorial optimization problem model is as shown in the following formula (6).

[0190]

[0191] As described above, this can be achieved by using an Ising machine ( Figure 2 Ising machines 108 to 110, Figure 3 The solution to the problem in 222 is the Ising machine in the Ising model expressed by a mathematical formula to obtain the solution to the maximum clique problem ( Figure 2 Solutions 111 to 113 in Figure 3 It should be noted that the solution can be obtained in Fig.24 The diagram in which nodes are color-coded as shown in (A) may be presented to the user, may be presented to the user using a table as shown in (B), or may be presented to the user using textual expressions as described above.

[0192] 1.11.4. Maximum Cut Problem

[0193] Next, the maximum cut problem will be described in detail. The maximum cut problem is a problem of finding a classification method that maximizes the sum of weights of the cut edges when the nodes of a graph are classified into two groups. Figures 25 to 27is a diagram for describing a case where the combinatorial optimization problem model in this embodiment is a maximum cut problem.

[0194] In this embodiment, first Fig.25 As shown in , constraint conditions 532 are set for input data 531, so as to describe the maximum cut problem ( Figure 2 Step 102 in Figure 3 In this example, the input data 531 may be an undirected graph. The undirected graph may be a graph describing the positional relationship between two or more nodes connected by edges.

[0195] Next, if Fig.21 As shown in , by the compiler ( Figure 2 Compiler 106 in Figure 3 The compiler 206 in the compiler 206 compiles the created combinatorial optimization problem model. Here, in the case where the Ising machine is an annealing type such as a quantum annealer or a non-quantum annealer, the created combinatorial optimization problem model can be converted into an Ising model as shown in the following formula (7).

[0196]

[0197] On the other hand, in the case where the Ising machine is a non-annealing type such as a gate-type quantum computer + QAOA, the created combinatorial optimization problem model can be converted into a method for performing the optimization by Fig.26 The quantum circuit shown in solves the program (connection relationship of gates, etc.) of the Hamiltonian problem represented by the following formula (8). It should be noted that in this specification, for the sake of convenience, it is assumed that the program for solving the Hamiltonian problem using the quantum circuit is also included in the Ising model, and the quantum circuit obtained by developing the program is also included in the Ising machine.

[0198]

[0199] As described above, this can be achieved by using an Ising machine ( Figure 2 Ising machines 108 to 110, Figure 3 The solution to the problem in 222 is the Ising machine in which the Ising model expressed by a mathematical formula is solved to obtain the solution to the maximum cut problem ( Figure 2 Solutions 111 to 113 in Figure 3 It should be noted that the solution can be obtained by Fig. 27 A graph in which nodes are color-coded as shown in (A) or a graph in which marks (×) are attached to edges is presented to a user, may be presented to a user using a table as shown in (B), or may be presented to a user using a textual expression as described above.

[0200] 1.12 System Configuration Example

[0201] Next, a configuration example of the information processing system 1 described above will be described by way of some examples. In the following description, the same components are denoted by the same reference numerals, and their detailed description will be omitted. Figure 3 The reference numerals used in the description are appropriately used to clarify the Figure 3 The corresponding relationship of the configuration shown in .

[0202] 1.12.1 First Example

[0203] Fig.28 is a sequence diagram for explaining the system configuration and operation according to the first example. Fig.28 In the first example shown, Figure 3 In the configuration shown, the inference unit 220 and the update 216 of the learning model are arranged in the server 10, and the combinatorial optimization problem model creation steps 202 and 203, the compiler 206, and the solution 222 of the problem are arranged in the client 12. It should be noted that the learned model 117 can be arranged in the server 10, or can be arranged in the database 11. In addition, the Ising machine in the solution 222 of the problem is not necessarily arranged in the client 12, and can also be arranged in the server 10 or a server managed by the vendor of the Ising machine.

[0204] -Step 601

[0205] In this example, the user first creates a combinatorial optimization problem model in the client 12 (corresponding to Figure 5 The combinatorial optimization problem model 205 in FIG. 2 is used to generate an Ising model (corresponding to Figure 3 Ising model 207 in (step 601). It should be noted that in step 601, the configuration of the combinatorial optimization problem model 205 (corresponding to Figure 3 The configuration of the problem model 214 in FIG. 200 and the size and complexity of the combinatorial optimization problem model 205 (corresponding to Figure 3 The size and complexity of the problem in 215).

[0206] -Step 602

[0207] The configuration 214 of the problem model and the problem scale and complexity 215 specified in step 601 are sent to the server 10 through the network 13. In the server 10, the received configuration 214 of the problem model and the problem scale and complexity 215 are input to the inference unit 220 in which the learned model 117 is implemented, thereby generating information for selecting the optimal Ising machine for solving the Ising model 207 (corresponding to Figure 3 Ising machine selection information 221) (step 602).

[0208] When the Ising machine selection information 221 is generated, the server 10 transmits Ising machine connection information including information (URL: Uniform Resource Locator) for accessing the Ising machine selected by the Ising machine selection information 221 to the client 12. It should be noted that in the case where user authentication is required to use the Ising machine, user authentication information (key) for using the Ising machine may be included in the Ising machine connection information.

[0209] -Step 604

[0210] In the client 12 that receives the Ising machine connection information, the solution of the combinatorial optimization problem is performed (corresponding to Figure 3 222) (step 604). Specifically, the user accesses the Ising machine 605 on the network based on the Ising machine connection information, and inputs the Ising model 207 generated in step 601 into the Ising machine 605. It should be noted that the Ising machine 605 may be a service provided on the network in the form of a web application programming interface (API) or the like.

[0211] In the Ising machine 605, the solution of the Ising model 207 is obtained (corresponding to Figure 3 The obtained solution 223 is sent to the client 12 through the network. It should be noted that, as described above, in addition to the final solution, the solution 223 may include information such as a convergence curve.

[0212] By receiving the solution 223 sent from the Ising machine 605 at the client 12, the user obtains a solution to the combinatorial optimization problem.

[0213] -Step 606

[0214] The solution 223 obtained by the Ising machine 605 is sent from the client 12 to the server 10. In the server 10, the configuration 214 of the problem model and the problem scale and complexity 215 and the solution 223 received from the client 12 in step 602 are used as teaching data, and an update 606 (corresponding to the update 606 of the re-learning of the learned model 117) is performed. Figure 3 Update of the learning model in 216).

[0215] As described above, by configuring the creation of the combinatorial optimization problem model 205 (step 601) to be executed on the client 12 side, the user can create the combinatorial optimization problem model 205 without being affected by the situation of the network 13, etc., so that the model creation work can be performed at will. In addition, by configuring the client 12 to execute the compilation of the combinatorial optimization problem model 205 (step 601) and the solution 222 of the problem (step 605), the transmission and / or reception of the Ising model 207 to and from the server 10 through the network 13 can be omitted. Therefore, effects such as a reduction in network communication volume and an improvement in confidentiality can be achieved.

[0216] 1.12.2 Second Example

[0217] Fig.29 is a sequence diagram for explaining the system configuration and operation according to the second example. Fig.29 In the second example shown, Figure 3 In the illustrated configuration, the combinatorial optimization problem model creation steps 202 and 203 , the compiler 206 , the inference unit 220 , the updating of the learning model 216 , and the solving of the problem 222 are arranged in the server 10 .

[0218] -Step 611

[0219] In this example, the user remotely connects to the server 10 on the network 13 (step 611), and performs the following steps on the remotely connected server 10. It should be noted that various forms such as ssh (Secure Shell Protocol) can be used for the remote connection to the server 10.

[0220] -Step 601

[0221] In step 601, the user creates a combinatorial optimization problem model 205 on the server 10 connected through the client 12, and compiles the created combinatorial optimization problem model 205 to generate an Ising model 207. It should be noted that the details of this step 601 may be similar to the first example.

[0222] -Step 602

[0223] In step 602 , the server 10 generates Ising machine selection information 221 by inputting the configuration 214 of the problem model and the problem size and complexity 215 specified in step 601 into the inference unit 220 in which the learned model 117 is implemented.

[0224] -Step 604

[0225] In step 604, the problem solving 222 is performed in the server 10. Specifically, the server 10 accesses the Ising machine 605 on the network according to the information (URL) for accessing the Ising machine selected by the Ising machine selection information 221, and inputs the Ising model 207 generated in step 601 to the Ising machine 605. Subsequently, the server 10 obtains the solution 223 obtained by the Ising machine 605. It should be noted that, as described above, in addition to the final solution, the solution 223 may include information such as a convergence curve.

[0226] The solution 223 obtained from the Ising machine 605 is transmitted to the client 12 through the network 13. By receiving the solution 223 transmitted from the server 10 at the client 12, the user obtains a solution to the combinatorial optimization problem.

[0227] -Step 606

[0228] In step 606 , the server 10 performs updating 216 of the learning model using the configuration 214 of the problem model specified in step 602 and acquired in step 604 , the problem scale and complexity 215 , and the solution 223 as teaching data.

[0229] As described above, by configuring the server 10 to perform all of the combinatorial optimization problem model creation steps 202 and 203, the compiler 206, the inference unit 220, the update of the learning model 216, and the solution 222 of the problem, it is possible to reduce the performance requirements for the client 12. As a result, it is possible to implement a service that can be used in more situations. In addition, since the data sent and received between the server 10 and the client 12 can be suppressed to a minimum, effects such as a reduction in network communication volume and an improvement in confidentiality can be obtained. Other configurations, operations, and effects can be similar to the first example described above.

[0230] 1.12.3. Third Example

[0231] Fig.30 is a sequence diagram for explaining the system configuration and operation according to the third example. Fig.30 In the third example shown, Figure 3 In the illustrated configuration, the combinatorial optimization problem model creation steps 202 and 203 and the compiler 206 are arranged in the client 12 , and the inference unit 220 , the update 216 of the learning model and the solution 222 of the problem are arranged in the server 10 .

[0232] -Step 601

[0233] In step 601 , similar to the first example, the user creates a combinatorial optimization problem model 205 in the client 12 , and compiles the created combinatorial optimization problem model 205 to generate an Ising model 207 .

[0234] -Step 602

[0235] In step 602 , similar to the first example, the server 10 generates Ising machine selection information 221 by inputting the configuration 214 of the problem model and the problem scale and complexity 215 received from the client 12 into the inference unit 220 in which the learned model 117 is implemented.

[0236] -Step 604

[0237] In step 604, similar to the second example, the solution 222 of the problem is performed in the server 10. Specifically, the server 10 accesses the Ising machine 605 on the network according to the information (URL) for accessing the Ising machine selected by the Ising machine selection information 221, and inputs the Ising model 207 generated in step 601 to the Ising machine 605. Subsequently, the server 10 obtains the solution 223 obtained by the Ising machine 605. It should be noted that, as described above, in addition to the final solution, the solution 223 may include information such as a convergence curve.

[0238] -Step 621

[0239] The solution 223 obtained from the Ising machine 605 is transmitted to the client 12 through the network 13. By receiving the solution 223 transmitted from the server 10 at the client 12, the user obtains a solution to the combinatorial optimization problem (step 621).

[0240] -Step 606

[0241] In step 606 , the server 10 performs updating 216 of the learning model using the configuration 214 of the problem model and the problem scale and complexity 215 received from the client 12 and the solution 223 obtained in step 604 as teaching data.

[0242] As described above, by configuring the inference unit 220, the update 216 of the learning model, and the solution 222 of the problem to be executed on the server 10, it is possible to reduce the performance requirements for the client 12. In addition, it is also possible to suppress the data sent and received between the server 10 and the client 12. Other configurations, operations, and effects may be similar to the first example or the second example described above.

[0243] 1.12.4. Fourth Example

[0244] Fig.31is a sequence diagram for explaining the system configuration and operation according to the fourth example. Fig.31 In the fourth example shown, Figure 3 In the illustrated configuration, the combinatorial optimization problem model creation steps 202 and 203 , the compiler 206 , the inference unit 220 , and the update 216 of the learning model are arranged in the server 10 , and the problem solving 222 is arranged in the client 12 .

[0245] -Step 631

[0246] In this example, as in the second example, the user remotely connects to the server 10 on the network 13 (step 631), and performs the following steps on the remotely connected server 10. It should be noted that various forms such as ssh (Secure Shell Protocol) can be used for the remote connection to the server 10.

[0247] -Step 601

[0248] In step 601 , similar to the second example, a user creates a combinatorial optimization problem model 205 on a server 10 connected via a client 12 , and compiles the created combinatorial optimization problem model 205 to generate an Ising model 207 .

[0249] -Step 602

[0250] In step 602 , similar to the second example, the server 10 generates Ising machine selection information 221 by inputting the configuration 214 of the problem model and the problem scale and complexity 215 specified in step 601 to the inference unit 220 in which the learned model 117 is implemented.

[0251] When the Ising machine selection information 221 is generated, the server 10 transmits the Ising machine connection information including information (URL) for accessing the Ising machine selected by the Ising machine selection information 221 and the Ising model 207 generated in step 601 to the client 12. It should be noted that in the case where user authentication is required to use the Ising machine, user authentication information (key) for using the Ising machine may be included in the Ising machine connection information.

[0252] -Step 634

[0253] In step 634 , the problem solving 222 is performed at the client 12 . Specifically, the user accesses the Ising machine 605 on the network based on the Ising machine connection information, and inputs the Ising model 207 received from the server 10 into the Ising machine 605 .

[0254] In the Ising machine 605, as in the first embodiment, the solution of the Ising model 207 (corresponding to Figure 3The solution 223 in the Ising machine 605 is received and sent to the client 12 through the network. The user obtains the solution of the combinatorial optimization problem by receiving the solution 223 sent from the Ising machine 605 at the client 12. It should be noted that, as described above, in addition to the final solution, the solution 223 may include information such as a convergence curve.

[0255] -Step 606

[0256] In step 606 , the server 10 performs an update 216 of the learning model using the configuration 214 of the problem model and the problem size and complexity 215 specified in step 602 and the solution 223 received from the client 12 as teaching data.

[0257] As described above, by configuring the combined optimization problem models 202 and 203, the compiler 206, the inference unit 220, and the update 216 of the learning model to be executed on the server 10, it is possible to reduce the performance requirements for the client 12. In addition, it is also possible to suppress the data sent and received between the server 10 and the client 12. Other configurations, operations, and effects may be similar to the first example described above.

[0258] 2. Hardware Configuration

[0259] According to the embodiment and modification, at least one of the server 10 and the client 12 can be provided with Fig.32 The configuration shown in FIG. 1 is implemented by a computer 1000 . Fig.32 10 is a hardware configuration diagram showing an example of a computer 1000 that implements at least one function of the server 10 and the client 12. The computer 1000 includes a CPU 1100, a RAM 1200, a read-only memory (ROM) 1300, a hard disk drive (HDD) 1400, a communication interface 1500, and an input / output interface 1600. Each unit of the computer 1000 is interconnected by a bus 1050.

[0260] The CPU 1100 operates based on the program stored in the ROM 1300 or the HDD 1400, and controls each unit. For example, the CPU 1100 expands the program stored in the ROM 1300 or the HDD 1400 into the RAM 1200, and executes processing corresponding to the various programs.

[0261] The ROM 1300 stores a boot program such as a basic input output system (BIOS) executed by the CPU 1100 when the computer 1000 is activated, a program depending on the hardware of the computer 1000 , and the like.

[0262] The HDD 1400 is a computer-readable recording medium that non-transitorily records a program executed by the CPU 1100, data used by the program, and the like. Specifically, the HDD 1400 is a recording medium that records a program for executing each operation according to the present disclosure as an example of program data 1450.

[0263] The communication interface 1500 is an interface for connecting the computer 1000 to an external network 1550 (eg, the Internet). For example, the CPU 1100 receives data from other devices through the communication interface 1500 or transmits data generated by the CPU 1100 to other devices.

[0264] The input / output interface 1600 has a configuration including the I / F unit 18 described above, and is an interface for connecting the input / output device 1650 to the computer 1000. For example, the CPU 1100 receives data from input devices such as a keyboard and a mouse through the input / output interface 1600. In addition, the CPU 1100 sends data to output devices such as a display, a speaker, or a printer through the input / output interface 1600. In addition, the input / output interface 1600 can serve as a medium interface for reading a program recorded in a predetermined recording medium (medium), etc. The medium is, for example, an optical recording medium such as a digital versatile disk (DVD) or a phase-change rewritable disk (PD), a magneto-optical recording medium such as a magneto-optical disk (MO), a tape medium, a magnetic recording medium, a semiconductor memory, etc.

[0265] For example, in the case where the computer 1000 functions as the server 10 / client 12 according to the aforementioned embodiment, the CPU 1100 of the computer 1000 implements at least one function of the server 10 / client 12 by executing the program loaded on the RAM 1200. In addition, the HDD 1400 stores the program according to the present disclosure, etc. It should be noted that the CPU 1100 reads the program data 1450 from the HDD 1400 and executes the program data, but as another example, these programs may be acquired from another device through the external network 1550.

[0266] Although the embodiments of the present disclosure are described above, the technical scope of the present disclosure is not limited to the embodiments described above, and various modifications can be made without departing from the gist of the present disclosure. In addition, components of different embodiments and modifications can be appropriately combined.

[0267] Furthermore, the effects of each embodiment described in this specification are merely examples and not limitations, and other effects may be provided.

[0268] Furthermore, each of the embodiments described above may be used alone or in combination with another embodiment.

[0269] It should be noted that the present technology may also have the following configurations.

[0270] (1) An information processing apparatus includes an inference unit that estimates a solver suitable for solving a mathematical formula generated from a combinatorial optimization problem model from among two or more solvers.

[0271] (2) The information processing device according to (1), wherein

[0272] The inference unit uses the configuration of the combinatorial optimization problem model and the size and complexity of the combinatorial optimization problem model as input to estimate a solver suitable for solving the mathematical formula.

[0273] (3) The information processing device according to (2), wherein

[0274] The configuration of the combinatorial optimization problem model includes data format and constraints.

[0275] (4) The information processing device according to (2) or (3), wherein

[0276] The size and complexity of the combinatorial optimization problem model include at least one of the number of variables and the number of interaction coefficients constituting the combinatorial optimization problem model.

[0277] (5) The information processing device according to any one of (1) to (4), wherein

[0278] The inference unit is a processing unit that estimates a solver suitable for solving the mathematical formula using a learned model using machine learning or a statistical method.

[0279] (6) The information processing device according to any one of (1) to (5), wherein

[0280] The two or more solvers include at least one of a quantum annealer, a non-quantum annealer, a non-annealing Ising machine, and a gate quantum type computer.

[0281] (7) The information processing device according to any one of (1) to (6), further comprising

[0282] A converter generates the mathematical formula from a combinatorial optimization problem model.

[0283] (8) The information processing device according to any one of (1) to (7), wherein

[0284] The mathematical formulation is Quadratic Unconstrained Binary Optimization (QUBO).

[0285] (9) The information processing device according to any one of (1) to (8), further comprising

[0286] A learning unit inputs the mathematical formula to a solver adapted to solve the mathematical formula to improve the accuracy of the inference unit based on the solution of the mathematical formula obtained from the solver.

[0287] (10) The information processing device according to (9), wherein

[0288] When multiple mathematical formulas can be generated from a combinatorial optimization problem model, the learning unit inputs each mathematical formula generated from the combinatorial optimization problem model into a solver suitable for solving the problem to improve the accuracy of the inference unit based on the solution of each mathematical formula obtained from the solver.

[0289] (11) The information processing device according to any one of (1) to (10), further comprising

[0290] A control unit obtains a solution to the mathematical formula by inputting the mathematical formula into a solver suitable for solving the mathematical formula.

[0291] (12) The information processing device according to any one of (1) to (11), further including a model creation unit that creates a combinatorial optimization problem model based on the combinatorial optimization problem.

[0292] (13) The information processing device according to (12), wherein

[0293] The model creation unit provides a user with an environment for describing a combinatorial optimization problem model in a programming language.

[0294] (14) The information processing device according to (12), wherein

[0295] The model creation unit provides a graphical user interface (GUI) for users to create a combinatorial optimization problem model or assist in creating a combinatorial optimization problem model.

[0296] (15) The information processing device according to (14), wherein

[0297] The GUI presents the user with candidates for each item that can be set as constraints for the combinatorial optimization problem model, and

[0298] The model creation unit creates a grammar describing the constraint condition based on a candidate for each item selected from among the candidates presented by the GUI.

[0299] (16) The information processing device according to (15), wherein

[0300] The GUI presents the user with candidates that can be set as the constraint condition according to the order of items constituting the syntax for describing the constraint condition.

[0301] (17) The information processing device according to (15) or (16), wherein

[0302] When a candidate selected by the user using the GUI results in an inconsistency in the syntax of the constraint being created, the model creation unit issues a warning to the user.

[0303] (18) The information processing device according to any one of (15) to (17), wherein

[0304] The constraint condition includes a constraint item and a purpose item, and

[0305] The model creation unit enables the user to create constraint items and purpose items.

[0306] (19) An information processing device connected to the information processing device according to any one of (1) to (11) via a predetermined network, the information processing device comprising

[0307] A model creation unit creates a combinatorial optimization problem model based on the combinatorial optimization problem.

[0308] (20) The information processing device according to (19), wherein

[0309] The model creation unit provides a user with an environment for describing a combinatorial optimization problem model in a programming language.

[0310] (21) The information processing device according to (19), wherein

[0311] The model creation unit provides a graphical user interface (GUI) for users to create a combinatorial optimization problem model or assist in creating a combinatorial optimization problem model.

[0312] (22) The information processing device according to (21), wherein

[0313] The GUI presents the user with candidates for each item that can be set as constraints for the combinatorial optimization problem model, and

[0314] The model creation unit creates a grammar describing the constraint condition based on a candidate for each item selected from among the candidates presented by the GUI.

[0315] (23) The information processing device according to (22), wherein

[0316] The GUI presents the user with candidates that can be set as the constraint condition according to the order of items constituting the syntax for describing the constraint condition.

[0317] (24) The information processing device according to (22) or (23), wherein

[0318] When a candidate selected by the user using the GUI results in an inconsistency in the syntax of the constraint being created, the model creation unit issues a warning to the user.

[0319] (25) The information processing device according to any one of (22) to (24), wherein

[0320] The constraint condition includes a constraint item and a purpose item, and

[0321] The model creation unit enables the user to create constraint items and purpose items.

[0322] (26) The information processing device according to any one of (19) to (25) further includes a converter that generates the mathematical formula from a combinatorial optimization problem model.

[0323] (27) The information processing device according to any one of (19) to (26), further comprising:

[0324] A control unit obtains a solution to the mathematical formula by inputting the mathematical formula into a solver suitable for solving the mathematical formula.

[0325] (28) An information processing method is performed in an information processing device that can be connected to a predetermined network, the method comprising:

[0326] A solver suitable for solving a mathematical formula generated from a combinatorial optimization problem model is estimated from among two or more solvers.

[0327] (29) A program causing a processor included in an information processing device that can be connected to a predetermined network to operate, the program causing the processor to perform the following operations:

[0328] A solver suitable for solving a mathematical formula generated from a combinatorial optimization problem model is estimated from among two or more solvers.

[0329] (30) An information processing system including a server and a client connected via a predetermined network, the system comprising:

[0330] A model creation unit for creating a combinatorial optimization problem model based on the combinatorial optimization problem;

[0331] A converter that generates mathematical formulas from combinatorial optimization problem models;

[0332] estimating a solver suitable for solving the mathematical formula from among two or more solvers; and

[0333] A control unit obtains a solution to the mathematical formula by inputting the mathematical formula into a solver suitable for solving the mathematical formula.

[0334] (31) An information processing system according to (30), wherein

[0335] The model creation unit and the converter are arranged in the client.

[0336] (32) An information processing system according to (30), wherein

[0337] The model creation unit and the converter are arranged in the server, and

[0338] The user accesses the server through the client to create a combinatorial optimization problem model based on the combinatorial optimization problem, and generates the mathematical formula from the combinatorial optimization problem model.

[0339] (33) The information processing system according to any one of (30) to (32), further comprising:

[0340] A learning unit inputs the mathematical formula to a solver adapted to solve the mathematical formula to improve the accuracy of the solver based on a solution of the mathematical formula obtained from the solver.

[0341] Reference numerals list

[0342] 1——Information Processing System

[0343] 10 - Server

[0344] 11. Database

[0345] 12, 12a, 12b…——Client

[0346] 13. Network

[0347] 101——Existing Combinatorial Optimization Problem Models

[0348] 102——Created combinatorial optimization problem model

[0349] 103——A collection of combinatorial optimization problem models

[0350] 104——Sequentially select combinatorial optimization problem models

[0351] 105, 205——Combinatorial Optimization Problem Model

[0352] 106, 206——Compiler

[0353] 107, 207——Ising model

[0354] 108 to 110, 605 - Ising machine

[0355] 111 to 113, 223——Solution

[0356] 114, 214 - Configuration of the problem model

[0357] 115, 215 - Problem size and complexity

[0358] 116, 216——Update of learning model

[0359] 117——Learned Model

[0360] 201——Combinatorial Optimization Problem

[0361] 202——Use programming language to create combinatorial optimization problem model

[0362] 203——Using GUI to create combinatorial optimization problem model

[0363] 220——Inference Unit

[0364] 221——Ising machine selection information

[0365] 222——Solving the problem

[0366] 301 to 307 - Area

[0367] 401 to 405, 412, 413 - Input field

[0368] 501, 511, 521, 531 - Input data

[0369] 502, 512, 522, 532 - Constraints

[0370] 601 - Model creation and compilation

[0371] 602——Ising Machine Selection

[0372] 604——Problem Solving

[0373] 606——Update of learning model

[0374] 611, 631——Remote connection

[0375] 621——Reception of Solution

Claims

1. An information processing apparatus comprising an inference unit that estimates a solver suitable for solving a mathematical formula generated from a combinatorial optimization problem model from among two or more solvers.

2. The information processing device according to claim 1, wherein The inference unit uses the configuration of the combinatorial optimization problem model and the size and complexity of the combinatorial optimization problem model as input to estimate a solver suitable for solving the mathematical formula.

3. The information processing device according to claim 2, wherein The configuration of the combinatorial optimization problem model includes data format and constraints.

4. The information processing device according to claim 2, wherein The size and complexity of the combinatorial optimization problem model include at least one of the number of variables and the number of interaction coefficients constituting the combinatorial optimization problem model.

5. The information processing device according to claim 1, wherein The inference unit is a processing unit that estimates a solver suitable for solving the mathematical formula using a learned model using machine learning or a statistical method.

6. The information processing device according to claim 1, wherein The two or more solvers include at least one of a quantum annealer, a non-quantum annealer, a non-annealing Ising machine, and a gate quantum type computer.

7. The information processing device according to claim 1, further comprising A converter generates the mathematical formula from a combinatorial optimization problem model.

8. The information processing device according to claim 1, wherein The mathematical formulation is Quadratic Unconstrained Binary Optimization (QUBO).

9. The information processing device according to claim 1, further comprising A learning unit inputs the mathematical formula to a solver adapted to solve the mathematical formula to improve the accuracy of the inference unit based on the solution of the mathematical formula obtained from the solver.

10. The information processing device according to claim 9, wherein When multiple mathematical formulas can be generated from a combinatorial optimization problem model, the learning unit inputs each mathematical formula generated from the combinatorial optimization problem model into a solver suitable for solving the problem to improve the accuracy of the inference unit based on the solution of each mathematical formula obtained from the solver.

11. The information processing device according to claim 1, further comprising A control unit obtains a solution to the mathematical formula by inputting the mathematical formula into a solver suitable for solving the mathematical formula.

12. The information processing device according to claim 1, further comprising A model creation unit creates a combinatorial optimization problem model based on the combinatorial optimization problem.

13. The information processing device according to claim 12, wherein The model creation unit provides a user with an environment for describing a combinatorial optimization problem model in a programming language.

14. The information processing device according to claim 12, wherein The model creation unit provides a graphical user interface GUI for users to create a combinatorial optimization problem model or to assist in creating a combinatorial optimization problem model.

15. The information processing device according to claim 14, wherein The GUI presents the user with candidates for constraints that can be set as combinatorial optimization problem models for each item, and The model creation unit creates a grammar describing the constraint condition based on a candidate for each item selected from among the candidates presented by the GUI.

16. The information processing device according to claim 15, wherein The GUI presents the user with candidates that can be set as the constraint condition according to the order of items constituting the syntax for describing the constraint condition.

17. The information processing apparatus according to claim 15, wherein When a candidate selected by the user using the GUI results in an inconsistency in the syntax of the constraint being created, the model creation unit issues a warning to the user.

18. An information processing device connected to the information processing device according to claim 1 via a predetermined network, the information processing device comprising A model creation unit creates a combinatorial optimization problem model based on the combinatorial optimization problem.

19. An information processing method, executed in an information processing device capable of connecting to a predetermined network, the method comprising: A solver suitable for solving a mathematical formula generated from a combinatorial optimization problem model is estimated from among two or more solvers.

20. A program that causes a processor included in an information processing device that can be connected to a predetermined network to operate, the program causing the processor to perform the following operations: A solver suitable for solving a mathematical formula generated from a combinatorial optimization problem model is estimated from among two or more solvers.

Citation Information

Patent Citations

  • Information processing device and control method therefor

    WO2016199220A1