Information processing device, information processing method, program, and circuit information

By generating combination optimization problems and using Ising machines and simulation branch algorithms, data changes are predicted and processed in advance, the problem of slow response speed of existing systems is solved, and the response speed and processing efficiency of the information processing system are improved.

JP2025018507AActive Publication Date: 2025-02-06KK TOSHIBA

Patent Information

Application Number
JP2023122259
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-07-27
Publication Date
2025-02-06
Estimated Expiration
2043-07-27

AI Technical Summary

Technical Problem

When facing a rapidly changing environment, the existing information processing system has a slow response speed, resulting in delayed data output and cannot process it in time according to environmental changes.

Method used

By generating combination optimization problems and using Ising machines and simulated branch algorithms, data changes are predicted and processed in advance, information processing equipment is used to generate combination optimization problems, and problem solving is used to use Ising machines and simulated branch algorithms to generate prediction data and output data to the target device.

Benefits of technology

It realizes processing before data changes, improves the system's response speed and processing efficiency, and reduces data output delay.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025018507000001_ABST
    Figure 2025018507000001_ABST
Patent Text Reader

Abstract

To provide an information processing device capable of predicting data to be acquired and executing processing using a combination optimization problem for the data.SOLUTION: An information processing device executes processing data. The information processing device acquires data, generates a combination optimization problem on the basis of the data, causes a solver device to solve the combination optimization problem, acquires a solution of the combination optimization problem from the solver device, generates output data on the basis of the solution, outputs the output data to a first device, and generates prediction data for predicting the data acquired after the output data is given to the first device. In addition, the information processing device acquires prediction data as one piece of data in the data acquisition.SELECTED DRAWING: Figure 7
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to an information processing device, an information processing method, a program, and circuit information. [Background technology]

[0002] In many application fields, such as control, finance, communication, logistics, and chemistry, system optimization is often mathematically reduced to a combinatorial optimization problem. Information processing systems have been proposed that realize various information processing functions, such as recognition, judgment, and planning, and improve the efficiency of such functions by solving combinatorial optimization problems.

[0003] A combinatorial optimization problem is a problem in which a cost function is defined with arguments being multiple decision variables (e.g., discrete variables) that represent the state of the system to be optimized, and the combination of values ​​of multiple decision variables that minimizes the defined cost function is solved. The state of the system represented by multiple decision variables is called a solution. In a combinatorial optimization problem, the number of states that can be taken as a solution increases exponentially as the number of decision variables increases. The increase in the number of states that can be taken as a solution is called combinatorial explosion. Combinatorial optimization, which involves selecting an optimal solution from all candidate solutions, is known to be a computationally difficult problem. Performing large-scale combinatorial optimization in a short period of time remains a challenging task.

[0004] In recent years, a special-purpose device called an Ising machine that searches for the ground state of an Ising spin model has been attracting attention. The problem of searching for the ground state of an Ising spin model is called the Ising problem. The Ising problem is a combinatorial optimization problem that minimizes a cost function given by a quadratic function of Ising spin, which is one of the binary variables. In the Ising problem, the cost function is called the Ising energy. Many practical combinatorial optimization problems can be converted into Ising problems. An Ising machine can solve an Ising problem quickly. Therefore, many practical combinatorial optimization problems can be solved quickly using an Ising machine.

[0005] However, when the situation is constantly changing, a new combinatorial optimization problem may be generated and solved in response to the change in the situation, and processing may be performed based on the obtained solution. For example, when applying a combinatorial optimization problem to a trading device that electronically trades stocks in a financial market, a new combinatorial optimization problem is generated in response to fluctuations in stock prices, and trading is performed based on the obtained solution. Also, when applying a combinatorial optimization problem to a control system that controls a moving object based on images of captured surrounding scenery, a new combinatorial optimization problem is generated in response to changes in the image, and the moving object is controlled based on the obtained solution.

[0006] In such a system, when output data based on a solution to a combinatorial optimization problem is output to a target device, the output data affects the target device and the situation changes. Such a system then acquires new data corresponding to the changed situation and generates and solves a new combinatorial optimization problem again. For example, when a trading device that electronically trades stocks in a financial trading market executes a trade based on the solution to the combinatorial optimization problem, the price of the traded stock changes. In addition, a control system that controls a moving object changes the relative positional relationship between the moving object and surrounding objects by controlling the moving object, and the acquired image changes.

[0007] However, in such a system, the target device has a slow response, it takes a long time for the situation to change, or it takes a long time for data to be output after the situation has changed, resulting in a delay in obtaining data according to the situation. In such a case, it is preferable for the system to be able to proactively perform processing according to the changed situation before obtaining data after the situation has changed. [Prior art documents] [Patent documents]

[0008] [Patent Document 1] Patent No. 6629864 [Patent Document 2] JP 2021-060864 A [Patent Document 3] JP 2019-145010 A [Patent Document 4] JP 2019-159566 A [Patent Document 5] Patent Publication No. 2021-043667 [Patent Document 6] JP 2021-043589 A [Non-patent literature]

[0009] [Non-Patent Document 1] Hayato Goto, Kosuke Tatsumura and Alexander R. Dixon, “Combinatorial optimization by simulating adiabatic bifurcations in nonlinear Hamiltonian systems,” Science Advances 5, eaav2372, 2019 [Non-Patent Document 2] Hayato Goto, Kotaro Endo, Masaru Suzuki, Yoshisato Sakai, Taro Kanao, Yohei Hamakawa, Ryo Hidaka, Masaya Yamasaki and Kosuke Tatsumura, “High-performance combinatorial optimization based on classical mechanics”, Science Advances 7, eabe7953, 2021 Summary of the Invention [Problem to be solved by the invention]

[0010] The problem to be solved by the present invention is to predict the data to be acquired and execute processing on the data by using a combinatorial optimization problem. [Means for solving the problem]

[0011] An information processing device according to an embodiment executes processing on data. The information processing device acquires the data, generates a combinatorial optimization problem based on the data, causes a solver device to solve the combinatorial optimization problem, acquires a solution to the combinatorial optimization problem from the solver device, generates output data based on the solution, outputs the output data to a first device, and generates predicted data that predicts the data to be acquired after the output data is provided to the first device. In acquiring the data, the information processing device acquires the predicted data as one of the data. [Brief description of the drawings]

[0012] [Figure 1] A diagram showing a model of the Ising problem. [Diagram 2] FIG. 2 illustrates internal variables used by the simulated branching algorithm. [Diagram 3] 4 is a flowchart showing a process flow of a simulated branching machine. [Figure 4] FIG. 1 is a diagram showing a configuration of an information processing system including an Ising machine. [Diagram 5] FIG. 1 is a diagram showing a configuration of an information processing system including a simulated branching machine. [Figure 6] Diagram of the market system. [Figure 7] FIG. 1 is a diagram showing the arrangement of an information processing apparatus according to a first embodiment. [Figure 8] 4 is a flowchart showing a processing flow of the information processing device according to the first embodiment. [Figure 9] FIG. 4 is a diagram showing processing timing of the information processing device. [Figure 10] FIG. 13 is a diagram showing the arrangement of an information processing device according to a second embodiment. [Figure 11] FIG. 13 is a diagram showing the arrangement of an information processing device according to a third embodiment. [Figure 12] 13 is a flowchart showing a processing flow of an information processing device according to the third embodiment. [Figure 13] FIG. 13 is a diagram showing the arrangement of an information processing device according to a fourth embodiment. [Figure 14]13 is a flowchart showing a processing flow of an information processing device according to the fourth embodiment. [Figure 15] FIG. 1 is a diagram showing an example of the configuration of a control system. [Figure 16] FIG. 2 is a hardware configuration diagram of an information processing device. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0013] (Premise) First, terms and techniques that are the basis for the description of the embodiments will be described.

[0014] A combinatorial optimization problem is a problem in which a cost function is defined with multiple decision variables (e.g., discrete variables) representing the state of a system to be optimized as arguments, and a combination of values ​​of multiple decision variables that minimizes the defined cost function is solved. The cost function includes multiple decision variables representing the state of the system as arguments, and is a linear or higher function of the multiple decision variables. For example, the cost function is expressed by a linear or quadratic function of the multiple decision variables. The cost function may be a cubic or higher function of the multiple decision variables. In other words, the cost function is a function that sums up multiple terms. Each of the multiple terms is a function that multiplies one or more of the multiple decision variables, up to a predetermined number of them, by a coefficient. In addition, the coefficient in each of the multiple terms is a real number and is also called a weight value. In other words, each of the multiple terms that constitute the cost function is expressed by multiplying one or more of the multiple decision variables by any one of the multiple weight values.

[0015] The state of the system, represented by the decision variables, is called a solution. The universe of possible solutions for the state of the system is called the solution space. The solution that gives the minimum of the cost function is called an exact solution. The solution that gives a value close to the minimum of the cost function is called a good solution.

[0016] An exact solution method is a method for finding an exact solution that gives a minimum value of a cost function for a combinatorial optimization problem, and is a method that guarantees that the solution is an exact solution.

[0017] A heuristic solution is a solution method for combinatorial optimization problems that finds an exact solution that minimizes the cost function or a good solution that is close to the minimum of the cost function. Heuristic solutions are also called discovery solutions. Heuristic solutions do not guarantee the accuracy of the solution, that is, an index that indicates how close the solution is to the minimum of the cost function. Heuristic solutions can output a solution with practically significant accuracy in a shorter solution time than exact solutions.

[0018] The computational complexity of a solution to a combinatorial optimization problem is the amount of calculations required to obtain a solution, such as the number of product-sum operations. The solution time required to obtain a solution to a combinatorial optimization problem depends not only on the amount of calculations, but also on the configuration of the computer that processes the calculations. For example, the solution time becomes shorter as the computer's degree of parallelism and operating frequency increase.

[0019] A QUBO (Quadratic Unconstrained Binary Optimization) problem is an unconstrained quadratic optimization problem in which the decision variables are binary. In a QUBO problem, each of a number of terms included in a cost function is expressed by a linear or quadratic expression of the decision variables. In a narrowly defined QUBO problem, the decision variables are binary variables of 0 or 1. In this embodiment, the QUBO problem represents a narrowly defined problem in which the decision variables are 0 or 1. In a narrowly defined QUBO problem, the decision variables may also be called bit variables.

[0020] The cost function for the QUBO problem is H in Eq. (1). total_QUBO It is expressed by:

number

[0021] FIG. 1 is a diagram showing a model of the Ising problem. The Ising problem is a problem of searching for the ground state of the Ising model. The Ising problem is one of the QUBO problems. The decision variables of the Ising problem represent discrete variables of -1 or +1.

[0022] The cost function for the Ising problem is H in Eq. (2). total_Ising It is expressed by:

number

[0023] If the decision variable is s i The QUBO problem corresponds to the problem of searching for the ground state of the Ising model, which is one of the magnetic models in statistical mechanics. i is sometimes called the spin variable. The number of decision variables, N, is sometimes called the spin number. H total_Ising is sometimes called the Zing energy. total_Ising N s for which iThe vector represented by is sometimes called the ground state (ground spin configuration).

[0024] The cost function of the QUBO problem and the cost function of the Ising problem differ only in the value of the constant. Therefore, the QUBO problem and the Ising problem are the same as combinatorial optimization problems. In other words, the QUBO problem and the Ising problem can be converted into each other. For example, the Ising problem and the QUBO problem can be converted into each other by formula (3-1), formula (3-2), formula (3-3), and formula (3-4).

number

[0025] QUBO and Ising problems are known to be NP-complete. That is, many NP-hard problems can be transformed into QUBO or Ising problems in polynomial time. Therefore, many practical combinatorial optimization problems can be transformed into QUBO or Ising problems.

[0026] An Ising machine is a device that solves Ising problems. Most Ising machines solve Ising problems using heuristic solutions. Ising machines based on various principles, such as electronic engineering, optics, quantum mechanics, and statistical mechanics, have been proposed. Many Ising machines can output exact or good solutions in a short time.

[0027] The simulated branching algorithm is an algorithm for solving combinatorial optimization problems. The simulated branching algorithm is a heuristic solution algorithm.

[0028] The simulated bifurcation algorithm is shown in, for example, Non-Patent Documents 1-2 and Patent Documents 2-6. The simulated bifurcation algorithm was discovered based on the idea of ​​a quantum mechanical optimization method based on the quantum adiabatic theorem, and is therefore also called a quantum-inspired algorithm. The simulated bifurcation algorithm can solve a combinatorial optimization problem in which the cost function is a quadratic function of multiple decision variables. The simulated bifurcation algorithm can also solve a combinatorial optimization problem in which the cost function is a cubic or higher function of multiple decision variables, that is, a HUBO (Higher Order Binary Optimization) problem. For example, a simulated bifurcation algorithm that solves a HUBO problem is shown in Patent Document 5. The simulated bifurcation algorithm can also solve a combinatorial optimization problem in which some or all of the multiple decision variables include variables with continuous values. A simulated bifurcation algorithm that solves a combinatorial optimization problem in which some or all of the multiple decision variables include variables with continuous values ​​is shown in Patent Document 6.

[0029] The simulated bifurcation machine is a computing device that executes processing according to a simulated bifurcation algorithm. The simulated bifurcation machine that solves the QUBO problem or the Ising problem is an example of an Ising machine. In this embodiment, the simulated bifurcation machine solves the Ising problem.

[0030] FIG. 2 is a diagram showing the internal variables used by the simulated branching algorithm.

[0031] The simulated branching algorithm is a method for determining the number of decision variables (s 1 ~s N When solving a combinatorial optimization problem in which the cost function is expressed using 1 ~x N ) and N momentum variables (y 1 ~y N ) is used. That is, the simulated bifurcation algorithm uses 2×N internal variables.

[0032] N location variables (x i ) is the number of N decision variables (s i ) in one-to-one correspondence. That is, the i-th position variable (x i ) is the i-th decision variable (s i ) corresponding to the N momentum variables (y i ) is the number of N decision variables (s i ) corresponds to the i-th momentum variable (y i ) is the i-th decision variable (s i )

[0033] 3 is a flow chart showing the flow of processing of the simulated branching machine. The simulated branching machine executes processing according to the simulated branching algorithm in the flow shown in FIG.

[0034] First, in S11, the simulated bifurcation machine obtains an Ising problem. Specifically, the simulated bifurcation machine obtains J, which is a matrix including N×N coefficients, and h, which includes N bias coefficients.

[0035] Next, in S12, the simulated branching machine calculates 2×N internal variables, i.e., N position variables (x 1 ~x N ) and N momentum variables (y 1 ~y N ) The simulated branch machine initializes N position variables (x 1 ~x N ) and the initial values ​​of N momentum variables (y 1 ~y N ) may be obtained from outside. The simulated branching machine may also obtain the initial values ​​of N position variables (x 1 ~x N ) and the initial values ​​of N momentum variables (y 1 ~y NThe initial value of x may be generated by a random number generator or may be set to a predetermined value. Since the simulated branching machine is a heuristic, even if the same problem is solved, the initial value of x may be set to a predetermined value. 1 ~x N ) and the initial values ​​of N momentum variables (y 1 ~y N ) is different, a different good solution may be output.

[0036] Next, the simulated branching machine repeats the process from S14 to S16 a preset number of times (loop process between S13 and S17). The process from S14 to S16 is performed by iterating N position variables (x 1 ~x N ) by a matrix containing weight values ​​of N rows and N columns, and 1 ~x N ) and N momentum variables (y 1 ~y N ) is a time evolution process.

[0037] In S14, the simulated bifurcation machine calculates N momentum variables (y 1 ~y N ) in the y update process. The simulated bifurcation machine updates the i-th momentum variable (y i In the update process of N position variables (x 1 ~x N ) and the i-th position variable (x i ) and the other (N-1) location variables (x 1~i-1, x i+1~N ) and N coefficients (J i,j ) and the i-th bias coefficient (h i ) and the i-th momentum variable (y i ) to update the

[0038] Next, in S15, the simulated branching machine calculates N position variables (x 1 ~xN ) in the x update process. The simulated branch machine updates the i-th position variable (x i In the update process of the i-th momentum variable (y i ) to determine the i-th position variable (x i ) to update the

[0039] The simulated branching machine may execute the process of S14 and the process of S15 in an interchangeable order.

[0040] Next, in S16, the simulated branching machine calculates N position variables (x 1 ~x N ), the simulated branching machine performs wall processing on the position variables whose absolute values ​​exceed 1. Furthermore, the simulated branching machine also performs wall processing on the momentum variables corresponding to the position variables whose absolute values ​​exceed 1. For example, in wall processing, the simulated branching machine changes the absolute value of the position variable whose absolute value exceeds 1 to 1 or a value smaller than 1 while keeping the sign the same. Also, for example, in wall processing, the simulated branching machine changes the value of the momentum variable corresponding to the position variable whose absolute value exceeds 1 to 0.

[0041] The simulated bifurcation algorithm has variations in the calculation of x-update processing, y-update processing, and wall processing. For example, the simulated bifurcation algorithm has variations such as the adiabatic simulated bifurcation (aSB) algorithm, the ballistic simulated bifurcation (bSB) algorithm, and the discrete simulated bifurcation (dSB) algorithm.

[0042] When executing processing according to the adiabatic simulated branching algorithm, the simulated branching machine executes the calculation shown in formula (4-1) in the y update processing (S14), and executes the calculation shown in formula (4-2) in the x update processing (S15). Note that when executing processing according to the adiabatic simulated branching algorithm, the simulated branching machine does not execute the wall processing (S15).

number

[0043] When executing processing according to the ballistic simulated branching algorithm, the simulated branching machine performs the calculation shown in equation (5-1) in the y update processing (S14), the calculation shown in equation (5-2) in the x update processing (S15), and the calculation shown in equation (5-3) in the wall processing (S16).

number

[0044] When executing processing according to the discrete simulated branching algorithm, the simulated branching machine performs the calculation shown in equation (6-1) in the y update processing (S14), the calculation shown in equation (6-2) in the x update processing (S15), and the calculation shown in equation (6-3) in the wall processing (S16).

number

[0045] In addition, in formulas (4-1), (4-2), (5-1), (5-2), (5-3), (6-1), (6-2) and (6-3), t k and t k+1 represents the time. k+1 t k This is the time obtained by adding a unit time (Δt) to the current time.

[0046] x i (t k ) is the time (tk ) the i-th position variable (x i ) value. i (t k+1 ) is the time (t k+1 ) the i-th position variable (x i ) value. i (t k ) is the time (t k ) the i-th momentum variable (y i ) value. i (t k+1 ) is the time (t k+1 ) the i-th momentum variable (y i ) value.

[0047] K, a 0 , η and c 0 , is a predetermined constant. a(t k ) is a function that changes with time. k ) is, for example, a(t 1 )=0, a positive real number that increases as time increases, and at the end time (T) 0 (a(T)=a 0 ). Also, sgn(x i (t k )) is the time (t k ) the i-th position variable (x i ), which is a function that outputs the sign of x i (t k ) is 0 or more, then +1, x i (t k ) is less than 0, it becomes -1.

[0048] When the simulated branching machine has executed the processes of S14 to S16 a predetermined number of times, that is, when it has executed the operations until time t reaches the final time T, it exits the loop process between S13 and S17 and proceeds to S18.

[0049] In S18, the simulated branching machine calculates the N position variables (x 1 ~x N), or N position variables at the final time (x 1 ~x N ) based on N decision variables (s 1 ~s N ) The simulated branching machine outputs N decision variables (s 1 ~s N ) the i-th decision variable (s i ) to sgn(x i ) is used as the basis for the calculation.

[0050] When the simulated branching machine finishes the process of S18, it ends the process according to the simulated branching algorithm.

[0051] The number of times the time-evolution process (loop process between S13 and S17) is repeated is determined in advance depending on the application. The amount of calculation required for one process in the time-evolution process (one process from S14 to S16) does not vary. For this reason, the simulated branching machine can reduce fluctuations in the solution-finding time. Therefore, even if the simulated branching machine is applied to a real-time system with time constraints that require processing to be completed by a certain time, it can reliably output a solution by the certain time.

[0052] Also, as shown in Patent Document 2, for example, the simulated branching machine can be configured using a dedicated parallel processing circuit including a large number of arithmetic units. This allows the simulated branching machine to extremely shorten the calculation time for one processing in time-evolution processing. Also, unlike software processing, the simulated branching machine implemented in a dedicated hardware circuit does not generate any interrupt processing, so the solution-finding time is strictly fixed. For example, the simulated branching machine implemented in a dedicated hardware circuit can fix the time until a solution is obtained in clock cycle units. Therefore, when applied to a real-time system, the simulated branching machine implemented in a dedicated hardware circuit can output a solution while more reliably observing time constraints.

[0053] FIG. 4 is a diagram showing a configuration of an information processing system including an Ising machine and a host device. An information processing system having a function of solving a combinatorial optimization problem can be configured, for example, by an Ising machine and a host device. The host device executes processes other than the processes executed by the Ising machine. In this case, the Ising machine is introduced for the purpose of shortening the time required to solve the combinatorial optimization problem, and is considered as an accelerator or offloader. The host device includes a general-purpose processor, an offloader other than the Ising machine, a memory, a storage, a sensor, an actuator, a communication interface, and the like.

[0054] The host device provides at least information for identifying the QUBO problem (matrix (Q)) or information for identifying an Ising problem (matrix (J) and bias coefficient array (h)) to the Ising machine. The Ising machine may obtain the information for identifying the QUBO problem (matrix (Q)) and convert it into information for identifying an Ising problem (matrix (J) and bias coefficient array (h)). Then, after the optimization process, the Ising machine outputs N decision variables (s 1 ~s N ) opt ) is returned to the host device.

[0055] FIG. 5 is a diagram showing a configuration of an information processing system including a simulated branching machine and a host device.

[0056] The information processing system having a function of solving a combinatorial optimization problem may include a simulated bifurcation machine as an Ising machine. In this case, the host device provides information (matrix (J) and bias coefficient (h)) for identifying an Ising problem to the simulated bifurcation machine. Furthermore, the host device provides information for identifying N position variables (x 1 ~x N ) and the initial values ​​of N momentum variables (y 1 ~y NThe host device may also provide initial values ​​of various constants and functions (e.g., K, a 0 , c 0、 a(t) and Δt) to the simulated bifurcation machine. The simulated bifurcation machine may provide the N decision variables (s 1 ~s N ) opt ) instead of N position variables (x 1 ~x N ) opt ) may be sent back to the host device.

[0057] (First embodiment) Next, the market system 10 according to the first embodiment will be described.

[0058] 6 is a diagram showing the configuration of the market system 10. The market system 10 executes electronic trading of a plurality of targets by a plurality of participants. More specifically, the market system 10 accepts buy orders and sell orders from each of the plurality of participants for each of the plurality of targets, matches the price and quantity of the accepted buy order with the price and quantity of the sell order, and electronically completes the trade.

[0059] In this embodiment, the market system 10 executes buying and selling transactions of multiple stocks (multiple brands of stocks) as electronic transactions of multiple targets. Note that the targets are not limited to stocks, and may be securities such as bonds, stock investment trusts, real estate investment trusts, and futures thereof, financial products such as foreign exchange, interest rates, and interest rate futures, or commodities such as gold, crude oil, and grains, and commodity futures thereof, as long as they are tradable in the market.

[0060] The market system 10 includes a market server device 12 and a plurality of client devices 14 .

[0061] The market server device 12 is a computer used by a market administrator. The market server device 12 is connected to a plurality of client devices 14 via a network.

[0062] Each of the client devices 14 is a device used by a market participant, and is realized, for example, by a computer.

[0063] Each of the multiple client devices 14 determines which stock among the multiple stocks to trade. Each of the multiple client devices 14 generates an order packet including trading information for the stock among the multiple stocks that it has decided to trade, and transmits the packet to the market server device 12. The order packet includes, as the trading information, for example, identification information for identifying the stock to be traded among the multiple stocks, a buying / selling direction, price (i.e., stock price), and quantity (i.e., number of shares) representing a sell order or a buy order for the stock identified by the identification information. The price is not limited to a specific value, and may be, for example, a value at the time of the transaction being concluded after the market opens, or a value having a certain range.

[0064] Market server device 12 executes trading of a plurality of stocks. Market server device 12 includes a receiving unit 16, a matching unit 17, and a distribution unit 18.

[0065] The receiving unit 16 receives the order packets transmitted from each of the multiple client devices 14. The receiving unit 16 provides the matching unit 17 with information on the received order packets.

[0066] The matching unit 17 matches the price and quantity of sell orders with the price and quantity of buy orders for each of a plurality of stocks, and completes transactions between sell orders and buy orders whose prices and quantities match in the order in which they are received. The matching unit 17 provides the distribution unit 18 with information about orders that have been completed and information about orders that have not been completed.

[0067] The distribution unit 18 distributes market condition packets including information indicating the status of stock transactions to multiple client devices 14 simultaneously based on the information acquired from the matching unit 17. A market condition packet is generated, for example, for each of multiple stocks. The market condition packet includes identification information for identifying the stock and a transaction price, which is the latest price at which a transaction was concluded for the stock identified by the identification information.

[0068] The market condition packet may also include quote information (first information) for each of the multiple stocks. The quote information is information indicating the price and quantity of unsettled buy orders and information indicating the price and quantity of unsettled sell orders for each of the multiple stocks.

[0069] The distribution unit 18 distributes market condition packets irregularly. For example, when a trade is concluded, the distribution unit 18 distributes a market condition packet for the stock for which the trade is concluded. For example, each of the multiple client devices 14 acquires the market condition packet distributed irregularly, and determines which of the multiple stocks to trade based on information contained in the acquired market condition packet. Then, each of the multiple client devices 14 generates an order packet for the determined stock and transmits it to the market server device 12.

[0070] The information processing device 20 according to the present embodiment functions as a client device 14 in the market system 10. The information processing device 20 may be realized by a computer including a processor, a memory, and the like, or may be configured to include a dedicated hardware circuit in addition to a processor, a memory, and the like.

[0071] Here, the information processing device 20 generates a combinatorial optimization problem based on market condition packets acquired at irregular intervals, solves the generated combinatorial optimization problem, and based on the solution to the combinatorial optimization problem obtained by solving it, decides whether or not to trade each of the multiple stocks.

[0072] In this embodiment, the information processing device 20 uses a function shown in equation (7) as a cost function in a combinatorial optimization problem.

number

[0073] In formula (7), N is an integer equal to or greater than 2 and represents the number of stocks traded in market server device 12. i and j are integers equal to or greater than 1 and equal to or less than N, and are indexes that identify each of the stocks.

[0074] The cost function in equation (7) includes N decision variables. i is a binary variable, 0 or 1, that indicates whether to trade the i-th stock among multiple stocks. j is a binary value of 0 or 1, and is a decision variable that indicates whether or not to trade the j-th stock among multiple stocks. i and b j represents 1 if a transaction is made and 0 if a transaction is not made.

[0075] t represents any time between the start time and the end time of trading in one day. t is 0 at the start time of trading and increases as time passes from the start time of trading. In this embodiment, t is an integer and represents time as an index.

[0076] p i (t) is the trading price of the i-th stock at time t, i.e., the stock price at time t. p i (0) is the trading price at the opening time of the i-th stock, i.e., the stock price at the opening time of the trading. α and β are preset constants.

[0077] p i (t) / p i (0)-1 represents the rate of change based on the trading price at the start of trading. i (t) / p i If (0)-1 is greater than 0, it indicates that the price of the i-th stock is rising, and if it is less than 0, it indicates that the price of the i-th stock is falling.

[0078] The first term on the right side of the cost function in formula (7) is a term that evaluates the difference between the rate of change of each of multiple stocks and a preset value α. Therefore, the cost function in formula (7) decreases when trading stocks whose rate of change is greater than α.

[0079] The second term on the right side of the cost function in equation (7) is a term that evaluates the absolute value of the difference between the rate of change of the i-th stock and the j-th stock among multiple stocks. Therefore, the cost function in equation (7) decreases when trading a pair of two stocks whose absolute value of the difference in the rate of change is large, that is, whose rate of change correlation is low.

[0080] From the above, the combinatorial optimization problem of minimizing the cost function in equation (7) can obtain a solution that diversifies risk by buying and selling stocks with high fluctuation rates while trading stocks with low correlation.

[0081] The information processing device 20 obtains a solution to a combinatorial optimization problem that minimizes such a cost function, i.e., the values ​​of the N decision variables. The information processing device 20 decides to trade stocks corresponding to the decision variables having a value of 1 among the N decision variables. The information processing device 20 then generates an order packet including trading information for the stocks for which it has been decided to execute the trade among the multiple stocks, and transmits the order packet to the market server device 12.

[0082] Furthermore, the information processing device 20 determines the direction of buying and selling for the i-th stock, i.e., whether to make a sell order or a buy order, based on the rate of change. For example, when making a buy order in the case of an upward trend, i.e., when following the trend, the information processing device 20 makes a buy order when the rate of change is positive and a sell order when the rate of change is negative. Conversely, when making a sell order in the case of an upward trend, i.e., when following the trend, the information processing device 20 makes a sell order when the rate of change is positive and a buy order when the rate of change is negative. In this embodiment, the information processing device 20 makes a sell order when the rate of change is positive and a buy order when the rate of change is negative.

[0083] The information processing device 20 may solve a combinatorial optimization problem that minimizes a cost function other than the cost function shown in equation (7).

[0084] FIG. 7 is a diagram showing the configuration of the information processing device 20 according to the first embodiment.

[0085] The information processing device 20 acquires data provided irregularly, generates a combinatorial optimization problem based on the acquired data, and generates output data based on a solution to the generated combinatorial optimization problem. The information processing device 20 then outputs the generated output data to a first device different from the information processing device 20. In this embodiment, the information processing device 20 receives market condition packets provided irregularly from the market server device 12 as data. The information processing device 20 generates a combinatorial optimization problem based on the received market condition packets, and generates an order packet as output data based on the solution to the generated combinatorial optimization problem. In this embodiment, the information processing device 20 then transmits the generated order packet to the market server device 12, which is an example of a first device.

[0086] The information processing device 20 includes an input memory 32, a presence information memory , an acquisition unit , a solver device 40, a problem generator , a process execution unit , and a prediction unit .

[0087] The input memory 32 stores a plurality of input values ​​that are the basis of a plurality of weight values ​​included in the cost function of the combinatorial optimization problem. In this embodiment, the input memory 32 stores values ​​corresponding to a plurality of trading prices as a plurality of input values. The values ​​corresponding to a plurality of trading prices stored in the input memory 32 correspond one-to-one to a plurality of stocks. That is, the input memory 32 stores a value corresponding to a trading price for each of a plurality of stocks. In this embodiment, the information processing device 20 trades N stocks. Therefore, the input memory 32 stores N input values ​​as a plurality of input values. Furthermore, the n-th input value (n is an integer of 1 or more and N or less) among the N input values ​​corresponds to the n-th target of the N stocks. The value corresponding to the trading price may be the trading price, or may be a value obtained by performing a predetermined process or calculation on the trading price. For example. The value corresponding to the trading price may be a rate of increase or decrease that indicates the ratio of the latest trading price to the trading price at the start of trading.

[0088] The stock price information memory 34 stores stock price information for each of the N stocks. For example, the stock price information memory 34 may store an array including the stock price information for each of the N stocks.

[0089] The acquisition unit 36 ​​acquires data that is repeatedly given at irregular intervals. The data acquired by the acquisition unit 36 ​​includes input information related to at least one of the multiple targets. When the acquisition unit 36 ​​acquires data, the acquisition unit 36 ​​rewrites, based on the input information included in the acquired data, an input value corresponding to the target related to the input information included in the acquired data, among the multiple input values ​​stored in the input memory 32.

[0090] In this embodiment, the acquiring unit 36 ​​acquires a market condition packet, which is an example of data repeatedly provided at irregular intervals, from the market server device 12. The market condition packet includes the trading price of at least one of the N stocks as input information. When the acquiring unit 36 ​​acquires the market condition packet, the acquiring unit 36 ​​rewrites the value corresponding to the trading price of the stock indicated in the acquired market condition packet, among the values ​​corresponding to the trading prices of each of the N stocks stored in the input memory 32, based on the trading price included in the acquired market condition packet. That is, when the acquiring unit 36 ​​acquires a market condition packet including the trading price of the nth stock, the acquiring unit 36 ​​rewrites the value corresponding to the nth trading price stored in the input memory 32 based on the trading price of the nth stock.

[0091] Furthermore, the market condition packet may include stock price information for at least one of the N stocks. When the acquisition unit 36 ​​acquires a market condition packet including stock price information, the acquisition unit 36 ​​rewrites the stock price information for the stock indicated in the acquired market condition packet among the stock price information for each of the N stocks stored in the stock price information memory 34, based on the stock price information included in the acquired market condition packet.

[0092] The solver device 40 receives a combinatorial optimization problem from the problem generator 42 and solves the received combinatorial optimization problem. Then, the solver device 40 outputs a solution to the received combinatorial optimization problem. In this embodiment, the solver device 40 is a simulated bifurcation machine, which is an Ising machine, and is implemented in a dedicated hardware circuit. In this embodiment, the solver device 40 also includes a weight memory 50 that stores multiple weight values ​​included in a cost function of the combinatorial optimization problem. For example, the weight memory 50 stores a matrix (J) and a bias coefficient array (h) that represent multiple weight values ​​included in the cost function shown in equation (7).

[0093] The solver device 40 may solve the combinatorial optimization problem based on another algorithm instead of the simulated bifurcation machine. The solver device 40 may also be a dedicated hardware circuit, but may also be a processor that executes a program to solve the combinatorial optimization problem, a server device on a network that solves the combinatorial optimization problem, or a device that includes a host device and an Ising machine.

[0094] The problem generator 42 generates a combinatorial optimization problem based on the data acquired by the acquisition unit 36, and causes the solver device 40 to solve the generated combinatorial optimization problem. More specifically, the problem generator 42 generates a combinatorial optimization problem based on a plurality of input values ​​stored in the input memory 32, and causes the solver device 40 to solve the generated combinatorial optimization problem.

[0095] The problem generator 42 provides the generated combinatorial optimization problem to the solver device 40 in a format that the solver device 40 can accept. For example, the problem generator 42 generates a plurality of weight values ​​included in a cost function of the combinatorial optimization problem and provides the generated plurality of weight values ​​to the solver device 40. For example, when the solver device 40 is an Ising machine and the combinatorial optimization problem is an Ising problem, the problem generator 42 generates a matrix (J) and a bias coefficient array (h) and provides the generated matrix (J) and bias coefficient array (h) to the solver device 40. For example, when the solver device 40 accepts a formula representing a cost function, the problem generator 42 may generate a cost function based on a value corresponding to the trading price of N stocks stored in the input memory 32 and provide the generated cost function to the solver device 40. Also, when the solver device 40 can accept constraint conditions together with the cost function, the problem generator 42 may generate information representing the cost function and the constraint conditions and provide it to the solver device 40.

[0096] In this embodiment, the problem generator 42 generates a combinatorial optimization problem that minimizes the cost function shown in equation (7). Then, in this embodiment, the problem generator 42 generates a plurality of weight values ​​included in the cost function of the combinatorial optimization problem shown in equation (7) based on a plurality of input values ​​stored in the input memory 32, and writes the generated plurality of weight values ​​to the weight memory 50. More specifically, the problem generator 42 generates a matrix (J) and a bias coefficient array (h) obtained by equation (7) based on values ​​corresponding to the trading prices of N stocks stored in the input memory 32, and writes the generated matrix (J) and bias coefficient array (h) to the weight memory 50.

[0097] Furthermore, the problem generator 42 generates a combinatorial optimization problem in response to acquiring data or at preset intervals, and causes the solver device 40 to solve the combinatorial optimization problem. In this embodiment, the problem generator 42 generates a combinatorial optimization problem in response to acquiring a market condition packet by the acquiring unit 36 ​​or at preset intervals, and causes the solver device 40 to solve the combinatorial optimization problem.

[0098] However, during the solution-finding process period from when the generation of the combinatorial optimization problem is started to when the solution of the generated combinatorial optimization problem is output, the problem generator 42 does not generate a new combinatorial optimization problem even if the acquisition unit 36 ​​acquires a new market packet. The preset period is longer than the time required from when the generation of the combinatorial optimization problem is started to when the solution of the generated combinatorial optimization problem is output. The preset period does not have to be at regular intervals and may vary over time. The preset period may be performed once at a predetermined time. For example, the problem generator 42 may generate a combinatorial optimization problem once at a predetermined time interval in a predetermined time unit such as seconds, minutes, hours, days, weeks, months, or years, and cause the solver device 40 to solve the combinatorial optimization problem.

[0099] The processing execution unit 46 obtains a solution to the combinatorial optimization problem from the solver device 40. In this embodiment, the cost function includes N decision variables. The nth decision variable among the N decision variables indicates whether or not to perform a predetermined operation on the nth stock among the N stocks. For example, the nth decision variable indicates whether or not to trade the nth stock among the N stocks. For example, the processing execution unit 46 calculates the cost function by dividing the multiple decision variables (b 1 ~b N ) as a solution. In response to receiving the solution from the solver device 40, the process execution unit 46 executes a process based on the received solution.

[0100] For example, when the processing execution unit 46 acquires a solution to a combinatorial optimization problem from the solver device 40, the processing execution unit 46 generates output data including output information indicating to perform a predetermined operation on at least one stock identified by the solution among the N stocks, based on the acquired solution. Then, the processing execution unit 46 outputs the output data to the first device.

[0101] In this embodiment, when the process execution unit 46 acquires a solution to a combinatorial optimization problem from the solver device 40, it generates an order packet, which is an example of output data. The order packet includes, as output information, a plurality of decision variables (b 1 ~b N The order packet includes transaction information indicating that a buy order or a sell order, which is a predetermined operation, is to be placed for the stock corresponding to the decision variable having the value (1) indicating that a transaction is to be placed among the values ​​of the decision variables (1) and (2), which indicates that a transaction is to be performed. Then, the process execution unit 46 outputs the generated order packet to the market server device 12, which is an example of the first device.

[0102] The prediction unit 48 acquires the output data generated in the process execution unit 46. The prediction unit 48 predicts data to be acquired by the information processing device 20 after the output data is provided to the first device. Then, the prediction unit 48 generates prediction data representing the predicted data.

[0103] In this embodiment, the prediction unit 48 obtains an order packet to be provided to the market server device 12 from the process execution unit 46. In response to the order packet being provided to the market server device 12, the prediction unit 48 predicts a market condition packet to be output from the market server device 12.

[0104] The prediction data includes prediction information that predicts input information related to at least one of the multiple targets. The prediction data is represented in the same format as the data acquired by the information processing device 20, for example.

[0105] In this embodiment, the prediction packet includes a predicted price that predicts the trading price of at least one of the N stocks. The prediction packet is represented, for example, in the same format as the market condition packet acquired by the information processing device 20.

[0106] When the information processing device 20 generates prediction data, it processes the generated prediction data in the same way as data. That is, the acquisition unit 36 ​​acquires the prediction data generated by the prediction unit 48 as one of the data repeatedly given at irregular intervals. When the acquisition unit 36 ​​acquires prediction data, it rewrites, based on prediction information included in the acquired prediction data, an input value corresponding to a target related to the prediction information included in the acquired prediction data, among the multiple input values ​​stored in the input memory 32.

[0107] In this embodiment, when the information processing device 20 acquires a prediction packet, it executes the same process as when it acquires a market condition packet. That is, when a prediction packet is generated by the prediction unit 48, the acquisition unit 36 ​​acquires the generated prediction packet as one of the market condition packets that are repeatedly provided at irregular intervals. When the acquisition unit 36 ​​acquires a prediction packet, it rewrites the value corresponding to the trading price of the stock indicated in the acquired prediction packet among the values ​​corresponding to the trading prices of each of the N stocks stored in the input memory 32, based on the predicted price included in the acquired prediction packet.

[0108] Here, input information included in the data acquired by the information processing device 20 changes as the output data is provided to the first device. When providing the output data to the first device, the prediction unit 48 generates prediction information that predicts input information included in the data acquired after the output data is provided to the first device, and outputs the prediction data including the generated prediction information.

[0109] In this embodiment, the transaction price contained in the market condition packet acquired by the information processing device 20 changes when the order packet is provided to the market server device 12. When outputting the order packet to the market server device 12, the prediction unit 48 generates a predicted price that predicts the transaction price contained in the market condition packet that is distributed after the order packet is provided to the market server device 12, and outputs a prediction packet that includes the generated predicted price.

[0110] The prediction unit 48 predicts the predicted price, for example, as follows.

[0111] The market server device 12 executes transactions between selling orders and buying orders with matching prices for each of the N stocks. For example, in the market, when there are more unfilled selling orders than unfilled buying orders, it is highly likely that transactions will be executed in order starting with the unfilled buying order with the lowest price. Also, in the market, when there are more unfilled buying orders than unfilled selling orders, it is highly likely that transactions will be executed in order starting with the unfilled buying order with the lowest price.

[0112] Therefore, for example, if there are more unfilled sell orders than unfilled buy orders for a certain stock, and the information processing device 20 outputs an order packet for a sell order at the same price as the lowest unfilled buy order, the trading price included in the market condition packet that the market server device 12 next distributes is likely to be the same price as the second lowest unfilled buy order.

[0113] Therefore, in this embodiment, the prediction unit 48 generates a predicted price by predicting the trading price to be included in the next market condition packet for the stocks indicated in the trading information included in the order packet based on the quote information for each of the N stocks stored in the quote information memory 34. Then, the prediction unit 48 outputs a prediction packet including the generated predicted price for the stocks indicated in the trading information included in the order packet. However, the market condition packet distributed from the market server device 12 is also influenced by the order packet output from the client device 14 other than the information processing device 20. Therefore, the prediction unit 48 cannot accurately predict the trading price to be included in the next market condition packet.

[0114] 8 is a flowchart showing the flow of processing by the process execution unit 46 and the prediction unit 48 according to the first embodiment. The process execution unit 46 and the prediction unit 48 execute processing according to the flow shown in FIG.

[0115] First, in S31, the process execution unit 46 determines whether or not a solution has been output from the solver device 40. If a solution has not been output from the solver device 40 (No in S31), the process execution unit 46 puts the process on hold in S31. If a solution has been output from the solver device 40 (Yes in S31), the process execution unit 46 advances the process to S32.

[0116] In S32, the process execution unit 46 acquires the solution output from the solver device 40. Then, in S33, the process execution unit 46 generates an order packet based on the acquired solution. Then, in S34, the process execution unit 46 transmits the order packet to the market server device 12.

[0117] Next, in S35, the prediction unit 48 generates a prediction packet based on the order packet generated by the process execution unit 46. Next, in S36, the prediction unit 48 outputs the generated prediction packet to the acquisition unit 36. Then, when the process execution unit 46 and the prediction unit 48 finish the process of S36, they return the process to S31 and repeat the process from S31.

[0118] By executing the process according to the above flow, the process execution unit 46 can output the order packet to the market server device 12. In addition, the prediction unit 48 can generate a prediction packet that predicts the market condition packet to be output from the market server device 12 based on the order packet, and output the prediction packet to the acquisition unit 36.

[0119] FIG. 9 is a timing chart showing the processing timing of the information processing device 20. As shown in FIG.

[0120] When the acquisition unit 36 ​​acquires a market condition packet from the market server device 12, it rewrites the value corresponding to the trading price of the stock related to the trading price included in the market condition packet, among the values ​​corresponding to the respective trading prices of the N stocks stored in the input memory 32. As a result, the values ​​corresponding to the respective trading prices of the N stocks stored in the input memory 32 are changed (t in FIG. 9). 1 ).

[0121] The problem generator 42 generates a combinatorial optimization problem based on values ​​corresponding to the respective trading prices of the N stocks stored in the input memory 32, and causes the solver device 40 to execute a solution-finding process. The solver device 40 accepts a combinatorial optimization problem from the problem generator 42 and solves the accepted combinatorial optimization problem. For example, the problem generator 42 and the solver device 40 execute problem generation and solution-finding processes at predetermined time intervals.

[0122] When the solver device 40 completes the solution-finding process, it provides the solution to the combinatorial optimization problem to the process execution unit 46 (t in FIG. 9). 2 In response to receiving the solution to the combinatorial optimization problem from the solver device 40, the process execution unit 46 generates an order packet and outputs it to the market server device 12.

[0123] Furthermore, the process execution unit 46 provides the generated order packet to the prediction unit 48 (t in FIG. 9). 3In response to receiving the order packet, the prediction unit 48 generates a prediction packet that predicts the market condition packet to be distributed from the market server device 12. Then, the prediction unit 48 provides the generated prediction packet to the acquisition unit 36 ​​(t in FIG. 9). 4 ).

[0124] When the acquisition unit 36 ​​acquires a prediction packet from the prediction unit 48, the acquisition unit 36 ​​rewrites the value corresponding to the trading price of the stock related to the predicted price included in the prediction packet based on the predicted price included in the prediction packet, among the values ​​corresponding to the respective trading prices of the N stocks stored in the input memory 32. As a result, the values ​​corresponding to the respective trading prices of the N stocks stored in the input memory 32 are changed (t in FIG. 9 ). 5 ).

[0125] Meanwhile, the order packet transmitted from the process execution unit 46 is received by the market server device 12. When the market server device 12 receives the order packet transmitted from the process execution unit 46, it matches it with order packets received from other client devices 14, and completes a transaction for the stocks whose transaction direction and price match. When a transaction is completed, the market server device 12 generates a new market condition packet reflecting the contents of the completed transaction, and distributes it to the multiple client devices 14. Then, the acquisition unit 36 ​​acquires the market condition packet from the market server device 12, and changes the values ​​corresponding to the respective transaction prices of the N stocks stored in the input memory 32 based on the transaction prices contained in the acquired market condition packet (t in FIG. 9 ). 6 ).

[0126] Here, market server device 12 executes various processes from receiving an order packet to distributing a market condition packet reflecting a transaction corresponding to the received order packet. In addition, the market condition packet and the order packet are transmitted via a network between market server device 12 and information processing device 20. For this reason, it takes a relatively long time from when information processing device 20 outputs an order packet until it acquires a market condition packet reflecting a transaction corresponding to the order packet.

[0127] In contrast, the prediction packet is generated and transmitted inside the information processing device 20. Therefore, the information processing device 20 can obtain the prediction packet predicted based on the output order packet earlier than obtaining the market condition packet reflecting the transaction corresponding to the output order packet.

[0128] If the prediction packet can predict with high accuracy the market condition packet that reflects the transaction corresponding to the order packet, the information processing device 20 can generate, based on the prediction packet, an order packet based on the solution of the combinatorial optimization problem generated based on the market condition packet. Therefore, by acquiring the prediction packet as one of the market condition packets and executing the process, the information processing device 20 can generate and output a new order packet that reflects the market transaction situation at an earlier stage.

[0129] The market server device 12 gives priority to matching of order packets received earlier. Therefore, the information processing device 20 can trade stocks more advantageously by generating and outputting new order packets that reflect the market trading conditions earlier.

[0130] In this way, the information processing device 20 according to the present embodiment generates predicted data that predicts data to be acquired, and executes processing using a combinatorial optimization problem generated based on the predicted data. This allows the information processing device 20 according to the present embodiment to execute processing on data.

[0131] Furthermore, the information processing device 20 according to this embodiment can execute data processing at an early stage. For example, the information processing device 20 generates a prediction packet that predicts the market condition packet to be acquired, solves a combinatorial optimization problem generated based on the prediction packet, and generates an order packet based on the obtained solution of the combinatorial optimization problem. This allows the information processing device 20 according to this embodiment to execute stock transactions based on the market condition packet distributed from the market server device 12 at an early stage.

[0132] Second embodiment Next, a market system 10 according to a second embodiment will be described. The market system 10 according to the second embodiment has substantially the same functions and configurations as those of the first embodiment, so elements having substantially the same functions and configurations are given the same reference numerals and detailed descriptions are omitted except for the differences. The same applies to the third and subsequent embodiments.

[0133] FIG. 10 is a diagram showing the configuration of an information processing device 20 according to the second embodiment.

[0134] In this embodiment, the input memory 32 includes a current value memory 62 (first memory), a predicted value memory 64 (second memory), and a flag memory 66 (third memory).

[0135] The current value memory 62 stores a plurality of current values ​​(a plurality of first values) that correspond one-to-one to a plurality of targets. The plurality of current values ​​represent a plurality of input values ​​that are the basis of a plurality of weight values. In this embodiment, the current value memory 62 stores N current values ​​that correspond one-to-one to N stocks. The nth current value among the N current values ​​corresponds to the nth stock. The current value is a value that corresponds to the latest traded stock price at the present time. For example, even if a stock was traded yesterday and the price fluctuated, if no trading has been conducted since then, the value that corresponds to the traded stock price yesterday becomes the current value.

[0136] The predicted value memory 64 stores a plurality of predicted values ​​(a plurality of second values) that correspond one-to-one to a plurality of targets. The plurality of predicted values ​​represent a plurality of input values ​​on which a plurality of weight values ​​are based. In this embodiment, the predicted value memory 64 stores N predicted values ​​that correspond one-to-one to N stocks. The nth predicted value of the N predicted values ​​corresponds to the nth stock.

[0137] The flag memory 66 stores a plurality of flags that correspond one-to-one to a plurality of targets. In this embodiment, the flag memory 66 stores N flags that correspond one-to-one to N stocks. The n-th flag among the N flags corresponds to the n-th current value stored in the current value memory 62 and the n-th predicted value stored in the predicted value memory 64. Each of the N flags indicates whether or not a corresponding predicted value among the N predicted values ​​stored in the predicted value memory 64 has been written more recently than a corresponding current value among the N current values ​​stored in the current value memory 62. That is, the n-th flag indicates whether or not the n-th predicted value has been written more recently than the n-th current value.

[0138] For example, each of the multiple flags is set to 1 when the predicted value is written more recently than the current value. Also, each of the multiple flags is set to 0 when the predicted value is not written more recently than the current value, i.e., when the current value is written more recently than the predicted value.

[0139] In this embodiment, when the acquiring unit 36 ​​acquires data, it rewrites, based on the input information included in the acquired data, the current value corresponding to the target related to the input information included in the acquired data, among the multiple current values ​​stored in the current value memory 62. That is, when the acquiring unit 36 ​​acquires a market condition packet including the trading price of the nth stock, it rewrites the nth current value, among the N current values ​​stored in the current value memory 62, to a value corresponding to the trading price included in the acquired market condition packet.

[0140] In this embodiment, when the acquisition unit 36 ​​acquires prediction data, the acquisition unit 36 ​​rewrites, based on the prediction information included in the acquired prediction data, a prediction value corresponding to a target related to the prediction information included in the acquired prediction data, among the multiple prediction values ​​stored in the prediction value memory 64. In other words, when the acquisition unit 36 ​​acquires a prediction packet including a predicted price of an n-th stock, the acquisition unit 36 ​​rewrites the n-th prediction value, among the N prediction values ​​stored in the prediction value memory 64, to a value corresponding to the predicted price included in the acquired prediction packet.

[0141] Furthermore, when the acquisition unit 36 ​​acquires data and writes any one of the multiple current values ​​stored in the current value memory 62 based on the acquired data, it sets the flag corresponding to the written current value among the multiple flags stored in the flag memory 66 to a value (e.g., 0) indicating that the predicted value is not written more recently than the current value. For example, when the acquisition unit 36 ​​acquires a market condition packet including the trading price of the nth stock and writes the nth current value based on the acquired market condition packet, it sets the nth flag to a value (e.g., 0) indicating that the nth predicted value is not written more recently than the nth current value.

[0142] Furthermore, when the acquiring unit 36 ​​acquires prediction data and writes any one of the multiple predicted values ​​stored in the predicted value memory 64 based on the acquired prediction data, the acquiring unit 36 ​​sets a flag among the multiple flags stored in the flag memory 66 corresponding to the written predicted value to a value (e.g., 1) indicating that the predicted value is written more recently than the current value. For example, when the acquiring unit 36 ​​acquires a prediction packet including the predicted price of the nth stock and writes the nth predicted value based on the acquired prediction packet, the acquiring unit 36 ​​sets the nth flag to a value (e.g., 1) indicating that the nth predicted value is written more recently than the nth current value.

[0143] When the problem generator 42 acquires a plurality of input values ​​from the input memory 32 to generate a combinatorial optimization problem, the problem generator 42 refers to a corresponding flag among the plurality of flags for each of the plurality of input values ​​to determine which of the current value and the predicted value is the newly written value. For each of the plurality of input values, the problem generator 42 reads one of the newly written values ​​of the current value and the predicted value from the current value memory 62 or the predicted value memory 64, and sets the read value as the corresponding input value. That is, when acquiring an n-th input value, the problem generator 42 refers to the n-th flag to read one of the newly written values ​​of the n-th current value and the n-th predicted value from the current value memory 62 or the predicted value memory 64, and sets the read value as the n-th input value. Then, the problem generator 42 generates a combinatorial optimization problem based on the plurality of input values ​​thus read.

[0144] Such an information processing device 20 according to the second embodiment can determine whether or not a predicted value is included in a plurality of input values ​​that are the source of the generated combinatorial optimization problem. As a result, the information processing device 20 according to the second embodiment can change the content of the processing in the processing execution unit 46 or change the magnitude of risk when performing risk processing in the processing execution unit 46, depending on whether or not a predicted value is included.

[0145] Third embodiment Next, a market system 10 according to a third embodiment will be described.

[0146] 11 is a diagram showing a configuration of an information processing device 20 according to the third embodiment. The information processing device 20 according to the third embodiment further includes a flag counter 68.

[0147] The flag counter 68 reads out the multiple flags stored in the flag memory 66 when the problem generator 42 reads out the multiple input values ​​from the input memory 32 to generate a combinatorial optimization problem. The flag counter 68 then counts the number of input values ​​based on prediction information included in the prediction data, among the multiple input values ​​read out from the input memory 32 to generate a combinatorial optimization problem. In this embodiment, the flag counter 68 counts the number of input values ​​based on the predicted price included in the prediction packet, among the N input values ​​read out from the input memory 32 to generate a combinatorial optimization problem.

[0148] For example, when the market server device 12 trades N stocks (N is an integer equal to or greater than 2), the current value memory 62 stores N current values, the forecast value memory 64 stores N forecast values, and the flag memory 66 stores N flags. The i-th flag (i is an integer equal to or greater than 1 and equal to or less than N) among the N flags is stored as flg i Let's say. flg i represents 1 if the i-th predicted value of the N predicted values ​​is written more recently than the i-th current value of the N current values, and represents 0 if the i-th current value is written more recently than the i-th predicted value.

[0149] In this case, at the timing when problem generation unit 42 starts generating a combinatorial optimization problem, flag counter 68 reads the values ​​of N flags from flag memory 66, executes the calculation of equation (8), and calculates the number (T) of input values ​​based on the predicted price included in the prediction packet among the N flags.

number

[0150] That is, the flag counter 68 acquires the number of input values ​​based on the prediction information included in the prediction data by counting the number of flags having a value (e.g., 1) indicating that a predicted value has been written more recently than the current value, among the multiple flags stored in the flag memory 66. The flag counter 68 provides the acquired number to the processing execution unit 46.

[0151] When outputting a solution, the solver device 40 calculates a cost value. The cost value is a value obtained by substituting the solution into multiple decision variables included in the cost function of the combinatorial optimization problem. The solver device 40 provides the calculated cost value to the process execution unit 46.

[0152] When outputting the output data, the processing execution unit 46 stops outputting the output data to the first device based on the number of input values ​​based on the prediction information included in the prediction data. For example, the processing execution unit 46 calculates an evaluation value by adding a cost value and a value obtained by multiplying the number by a predetermined coefficient. Then, when the evaluation value is equal to or less than a predetermined threshold, the processing execution unit 46 outputs the output data to the first device, and when the evaluation value is greater than the predetermined threshold, the processing execution unit 46 stops outputting the output data to the first device.

[0153] For example, when the process execution unit 46 generates an order packet, the process execution unit 46 calculates an evaluation value (E 1 In formula (9), C represents the cost value output from the solver device 40. f represents a predetermined coefficient, and T represents the number of input values ​​based on the predicted price included in the prediction packet. E 1 =C+(C f ×T)…(9)

[0154] Then, the process execution unit 46 calculates the evaluation value (E 1 If the calculated evaluation value (E 1 ) is greater than a predetermined threshold, output of the order packet to the market server device 12 is stopped.

[0155] 12 is a flowchart showing the flow of processing by the process execution unit 46 and the prediction unit 48 according to the third embodiment. The process execution unit 46 and the prediction unit 48 according to the third embodiment execute processing according to the flow shown in FIG.

[0156] In S31 to S33, the process execution unit 46 executes the same process as that shown in FIG.

[0157] Following S33, the process execution unit 46 advances the process to S41. In S41, the process execution unit 46 acquires the cost value (C) from the solver device 40, and acquires the number (T) of input values ​​based on the predicted price included in the prediction packet calculated by the flag counter 68.

[0158] Next, in S42, the process execution unit 46 calculates an evaluation value (E 1 Next, in S43, the process execution unit 46 calculates the evaluation value (E 1 It is determined whether the evaluation value (E 1 If the evaluation value (E) is greater than the threshold (Yes in S43), the process execution unit 46 skips the processes of S34 to S36 and returns the process to S31. If the evaluation value (E) is equal to or less than the threshold (No in S43), the process execution unit 46 advances the process to S34. Then, from S34 onwards, the process execution unit 46 executes the same processes as those shown in FIG.

[0159] The data acquired by the information processing device 20 (market packet in this embodiment) contains information that changes in response to the output data (order packet in this embodiment) output by the information processing device 20 being given to the first device (market server device 12 in this embodiment). However, the data acquired by the information processing device 20 is affected by things other than the output data output by the information processing device 20, and the information contained therein changes. Therefore, the prediction data (prediction packet in this embodiment) generated by the information processing device 20 is not guaranteed to be the same as the data to be acquired next. The information processing device 20 according to this embodiment can switch whether or not to output output data depending on the number of input values ​​based on prediction data that are not guaranteed to be the same as the data to be acquired next, among the multiple input values ​​that are the basis for generating a combinatorial optimization problem. As a result, the information processing device 20 according to this embodiment can stop outputting output data generated based on a relatively unreliable solution, and prevent outputting a processing result with low reliability.

[0160] (Fourth embodiment) Next, a market system 10 according to a fourth embodiment will be described.

[0161] 13 is a diagram showing a configuration of an information processing device 20 according to the fourth embodiment. The information processing device 20 according to the fourth embodiment further includes a write detection unit 70, a comparison unit 72, a write counter 74 (first counter), a match counter 76 (second counter), and an accuracy calculation unit 78.

[0162] The write detection unit 70 detects whether or not a corresponding current value among the multiple current values ​​has been written to the current value memory 62 after a predicted value has been written to the predicted value memory 64. For example, the write detection unit 70 detects whether or not the nth current value has been written to the current value memory 62 after the nth predicted value has been written to the predicted value memory 64.

[0163] When the acquiring unit 36 ​​writes the nth predicted value to the predicted value memory 64, the acquiring unit 36 ​​sets the nth flag stored in the flag memory 66 to a value (e.g., 1) indicating that the predicted value has been written more recently than the current value. Also, for example, when the acquiring unit 36 ​​writes the nth current value to the current value memory 62, the acquiring unit 36 ​​sets the nth flag stored in the flag memory 66 to a value (e.g., 0) indicating that the predicted value has not been written more recently than the current value.

[0164] Therefore, the write detection unit 70 detects a flag in which the n-th flag has changed from a value (e.g., 1) indicating that the predicted value has been written more recently than the current value to a value (e.g., 0) indicating that the predicted value has not been written more recently than the current value. This enables the write detection unit 70 to detect whether the n-th current value has been written to the current value memory 62 after the n-th predicted value has been written to the predicted value memory 64.

[0165] The comparison unit 72 compares whether the nth predicted value written in the predicted value memory 64 matches the nth current value written in the current value memory 62 after the nth predicted value is written in the predicted value memory 64. For example, when the nth flag changes from a value (e.g., 1) indicating that the predicted value has been written more recently than the current value to a value (e.g., 0) indicating that the predicted value has not been written more recently than the current value, the comparison unit 72 reads out the nth predicted value and the nth current value. Then, the comparison unit 72 compares whether the read out nth predicted value matches the nth current value. This allows the comparison unit 72 to compare whether the nth predicted value written in the predicted value memory 64 matches the nth current value written in the current value memory 62 after the nth predicted value is written in the predicted value memory 64. The comparison unit 72 may determine that they match if the difference between the read out nth predicted value and the nth current value is within a predetermined range. For example, the comparison section 72 may determine that the read n-th predicted value matches the n-th current value if the value matches within a small error range.

[0166] The write counter 74 receives the detection result from the write detection unit 70, and counts the number of writes that indicates the number of times that the nth current value has been written to the current value memory 62 after the nth predicted value has been written to the predicted value memory 64. For example, the write counter 74 counts the number of writes accumulated from a predetermined start time.

[0167] The coincidence counter 76 receives the comparison result from the comparison unit 72, and counts the number of coincidences, which is the number of times that the nth predicted value written in the predicted value memory 64 matches the nth current value written in the current value memory 62 after the nth predicted value was written in the predicted value memory 64. For example, the coincidence counter 76 counts the number of coincidences accumulated from a predetermined start time.

[0168] The accuracy calculation unit 78 receives the number of posts from the post counter 74 and the number of matches from the match counter 76. The accuracy calculation unit 78 calculates accuracy, which is the ratio of the number of matches to the number of posts, and provides it to the process execution unit 46.

[0169] When outputting a solution, the solver device 40 calculates a cost value and provides the calculated cost value to the process execution unit 46.

[0170] When outputting the output data, the processing execution unit 46 stops outputting the output data to the first device based on the accuracy. For example, the processing execution unit 46 calculates an evaluation value by adding a cost value and a value obtained by multiplying the accuracy by a predetermined coefficient. Then, when the evaluation value is equal to or less than a predetermined threshold, the processing execution unit 46 outputs the output data to the first device, and when the evaluation value is greater than the predetermined threshold, the processing execution unit 46 stops outputting the output data to the first device.

[0171] For example, when the process execution unit 46 generates an order packet, the process execution unit 46 calculates an evaluation value (E 2 In the formula (10), R represents accuracy, and C represents a cost value output from the solver device 40. f represents a predetermined coefficient. E 2=C+{C f ×(1-R)}…(10)

[0172] Then, the process execution unit 46 calculates the evaluation value (E 2 If the calculated evaluation value (E 2 ) is greater than a predetermined threshold, output of the order packet to the market server device 12 is stopped.

[0173] The information processing device 20 according to the fourth embodiment may further include a flag counter 68 shown in FIG. 12. The flag counter 68 provides the number (T) of input values ​​based on the predicted price included in the prediction packet to the processing execution unit 46. When the processing execution unit 46 generates an order packet, the processing execution unit 46 calculates an evaluation value (E 2 ) is calculated. E 2 =C+{C f ×T×(1-R)}…(11)

[0174] The comparison unit 72 may further calculate a penalty value (P) that increases as the difference between the predicted value written in the predicted value memory 64 and the corresponding current value among the multiple current values ​​that was first written in the current value memory 62 after the predicted value was written in the predicted value memory 64 increases. Then, the comparison unit 72 provides the calculated penalty value (P) for each of the multiple stocks to the processing execution unit 46.

[0175] In this case, the process execution unit 46 may correct the accuracy (R) so that the accuracy (R) is decreased as the penalty value (P) is increased. 0 ) for the latest penalty value (P t The rate of change in the penalty value expressed as the ratio of t / P 0 ) is calculated, and the evaluation value (E 2 ) may be calculated. E 2=C+[C f ×T×(1-R)×|1-(P t / P 0 )|]…(12)

[0176] 14 is a flowchart showing the flow of processing by the process execution unit 46 and the prediction unit 48 according to the fourth embodiment. The process execution unit 46 and the prediction unit 48 according to the fourth embodiment execute processing according to the flow shown in FIG.

[0177] In S31 to S33, the process execution unit 46 executes the same process as that shown in FIG.

[0178] Following S33, the process execution unit 46 advances the process to S51. In S51, the process execution unit 46 acquires the cost value (C) from the solver device 40 and also acquires the prediction accuracy (R) from the accuracy calculation unit 78.

[0179] Next, in S52, the process execution unit 46 calculates an evaluation value (E 2 Next, in S53, the process execution unit 46 calculates the evaluation value (E 2 It is determined whether the evaluation value (E 2 If the evaluation value (E 2 ) is equal to or smaller than the threshold value (No in S53), the process execution unit 46 advances the process to S34. Then, from S34 onwards, the process execution unit 46 executes the same processes as those shown in FIG.

[0180] The information processing device 20 according to this embodiment calculates, as prediction accuracy (R), the ratio of the number of times a predicted value matches a current value to the number of times a predicted value is written for multiple input values ​​that are the basis for generating a combinatorial optimization problem. Output data generated based on a solution with a relatively high prediction accuracy (R) is highly reliable, but output data generated based on a solution with a relatively low prediction accuracy (R) is unreliable. Therefore, the information processing device 20 according to this embodiment switches whether or not to output output data depending on the prediction accuracy (R), thereby stopping the output of output data generated based on a relatively unreliable solution and preventing the output of unreliable processing results.

[0181] Fifth embodiment Next, a control system 110 according to a fifth embodiment will be described.

[0182] In the first to fourth embodiments, an example has been described in which the information processing device 20 is applied to the market system 10. The information processing device 20 is not limited to the market system 10, and can be applied to other systems as long as the systems execute processing using a combinatorial optimization problem on data that changes over time. For example, the information processing device 20 can be applied to a control system 110 that controls the movement of a moving object.

[0183] 15 is a diagram showing an example of the configuration of a control system 110 according to the fifth embodiment. The control system 110 controls a moving object that moves autonomously, such as a self-driving car, a drone, or a robot.

[0184] The control system 110 includes an object detection device 112 , an information processing device 20 , and a control device 114 .

[0185] The object detection device 112 acquires image data from, for example, a camera that captures an image of the surroundings of the moving object to be controlled. The object detection device 112 may acquire sensor data from other sensor devices in addition to image data. The object detection device 112 detects coordinate data representing three-dimensional coordinates for one or more objects around the moving object based on the acquired image data, sensor data, etc. Furthermore, the object detection device 112 may also detect the three-dimensional coordinates of the moving object itself to be controlled.

[0186] The object detection device 112 irregularly and repeatedly outputs data including identification information for identifying one of one or more objects, and coordinate data (input information) representing the coordinates of the object identified by the identification information, to the information processing device 20. Note that the input information may include, in addition to the coordinate data, other related information such as the moving speed, acceleration, moving direction, and type of the object identified by the identification information.

[0187] The control device 114 acquires output data including output information indicating a predetermined operation to be performed on the mobile object in order to control the mobile object from the information processing device 20. The control device 114 controls the mobile object based on the acquired output data.

[0188] The output information may also indicate that a predetermined operation is to be performed on any one of one or more objects around the moving body. For example, the output information may include information indicating that information indicating movement control, a predetermined instruction, a warning, or the like is to be given to any one of one or more objects around the moving body. In this case, the output data includes identification information for identifying any one of the one or more objects, and the output information. Furthermore, when such output data is received, the control device 114 executes a predetermined operation on the object identified by the identification information included in the output data.

[0189] The information processing device 20 has the same configuration as those described in the first to fourth embodiments. However, the information processing device 20 may not have the presence information memory 34. Furthermore, the prediction unit 48 may obtain information other than the output data in order to generate prediction data.

[0190] The information processing device 20 generates a combinatorial optimization problem based on data irregularly provided by the object detection device 112, and causes the solver device 40 to solve the combinatorial optimization problem. Then, the information processing device 20 acquires a solution to the combinatorial optimization problem from the solver device 40, generates output data based on the solution in response to acquiring the solution, and outputs the generated output data to the control device 114, which is an example of a first device.

[0191] Furthermore, the information processing device 20 generates prediction data that predicts data to be acquired after the output data is provided to the control device 114. Then, the information processing device 20 acquires the generated prediction data as one of the data irregularly provided from the object detection device 112.

[0192] Such an information processing device 20 generates prediction data that predicts data to be acquired, and executes processing using a combinatorial optimization problem generated based on the prediction data. This allows the information processing device 20 according to the present embodiment to execute processing on data at an early stage.

[0193] (Hardware configuration) Fig. 16 is a diagram showing an example of a hardware configuration of the information processing device 20. A partial configuration in the information processing device 20 not including the solver device 40 is realized by, for example, a computer having a hardware configuration as shown in Fig. 16. The information processing device 20 includes a CPU (Central Processing Unit) 301, a RAM (Random Access Memory) 302, a ROM (Read Only Memory) 303, a storage device 304, and a communication interface device 305. These components are connected by a bus.

[0194] The CPU 301 is one or more processors that executes arithmetic processing, control processing, etc. according to a program. The CPU 301 uses a predetermined area of ​​the RAM 302 as a working area and executes various processes in cooperation with programs stored in the ROM 303, the storage device 304, etc.

[0195] The RAM 302 is a memory such as a Synchronous Dynamic Random Access Memory (SDRAM), and functions as a work area for the CPU 301. The ROM 303 is a memory that stores programs and various information in a non-rewritable manner.

[0196] The storage device 304 is a device that writes and reads data to a semiconductor storage medium such as a flash memory, or a magnetically or optically recordable storage medium, etc. The storage device 304 writes and reads data to the storage medium in response to control from the CPU 301. The communication interface device 305 communicates with external devices via a network in response to control from the CPU 301.

[0197] A program executed by the computer causes the computer to function as the information processing device 20. This program is deployed on the RAM 302 by the CPU 301 (processor) and executed.

[0198] In addition, the program executed by the computer is provided as a file in a format that can be installed on the computer or in a format that can be executed by the computer, and is recorded on a computer-readable recording medium such as a CD-ROM, a flexible disk, a CD-R, or a DVD (Digital Versatile Disk).

[0199] The program may be stored on a computer connected to a network such as the Internet and provided by being downloaded via the network. The program may be provided or distributed via a network such as the Internet. The program executed by the information processing device 20 may be provided by being pre-installed in the ROM 303 or the like.

[0200] The program for making the computer function as the information processing device 20 has a modular configuration including, for example, an acquisition module, a question generation module, a processing execution module, and a prediction module. The program may further include a flag counter module, a post detection module, a comparison module, a post counter module, a match counter module, and an accuracy calculation module. When the program is executed by the CPU 301, each module is loaded into the RAM 302, and the CPU 301 functions as the acquisition unit 36, the question generation unit 42, the processing execution unit 46, and the prediction unit 48. When the CPU 301 is a plurality of processors, these units may be divided among the plurality of processors. The program may further make the CPU 301 function as the flag counter 68, the post detection unit 70, the comparison unit 72, the post counter 74, the match counter 76, and the accuracy calculation unit 78. The program also makes the RAM 302 and the storage device 304 function as the input memory 32 and the appearance information memory 34. Note that these configurations may be partially or entirely made up of hardware.

[0201] The solver device 40 may be realized by one or more reconfigurable semiconductor devices such as a field-programmable gate array (FPGA). The solver device 40 may be realized by one or more CPUs, microprocessors, graphics processing units (GPUs), application specific integrated circuits (ASICs), or electronic circuits including these circuits. The solver device 40 may be realized by an information processing device such as a computer, a computer system in which multiple computers or servers communicate with each other via a network, or a PC cluster in which multiple computers work together to perform information processing.

[0202] The solver device 40 may be incorporated in the information processing device 20. For example, the solver device 40 may be incorporated as an accelerator in a part of the information processing device 20. The solver device 40 may also include a part of the functions of the information processing device 20, for example, a problem generator 42.

[0203] Furthermore, when the information processing device 20 is realized by a reconfigurable semiconductor device such as an FPGA, the circuit information (configuration data) to be written into the reconfigurable semiconductor device to operate the reconfigurable semiconductor device as the information processing device 20 may be stored on a computer connected to a network such as the Internet and provided by being downloaded via the network. Furthermore, the circuit information (configuration data) to be written into the reconfigurable semiconductor device to operate the reconfigurable semiconductor device as the information processing device 20 may be provided by being recorded on a computer-readable recording medium.

[0204] Furthermore, when the information processing device 20 is realized by a semiconductor device such as an ASIC, the circuit information representing the configuration of a circuit described in a hardware description language used in the design and manufacture of the information processing device 20 may be stored on a computer connected to a network such as the Internet and provided by downloading it via the network. Furthermore, the circuit information representing the configuration of a circuit described in a hardware description language used in the design and manufacture of the information processing device 20 may be provided by being recorded on a computer-readable recording medium.

[0205] Although some embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their modifications are included in the scope and spirit of the invention, and are included in the scope of the invention and its equivalents described in the claims.

[0206] (Additional Note) The above-described embodiments can be summarized as the following technical solutions.

[0207] [Technical proposal 1] An information processing device that executes processing on data, Obtaining the data, A combinatorial optimization problem is generated based on the data, and the problem is solved by a solver device; obtaining a solution to the combinatorial optimization problem from the solver device, generating output data based on the solution, and outputting the output data to a first device; generating predicted data that predicts the data that will be obtained after the output data is provided to the first device; In acquiring the data, the prediction data is acquired as one of the data. Information processing device.

[0208] [Technical proposal 2] In acquiring the data, the data is acquired repeatedly; The value contained in the data is changed by providing the output data to the first device. An information processing device according to technical proposal 1.

[0209] [Technical proposal 3] In generating the combinatorial optimization problem, the combinatorial optimization problem is generated in response to acquisition of the data or at a preset cycle, and the combinatorial optimization problem is solved by the solver device. An information processing device according to technical proposal 1 or 2.

[0210] [Technical proposal 4] The cost function in the combinatorial optimization problem includes N decision variables (N is an integer equal to or greater than 2) and a plurality of weight values; a term included in the cost function is expressed by multiplying one or more decision variables among the N decision variables by any one of the plurality of weight values; Further, an input memory is provided for storing N input values ​​on which the plurality of weight values ​​are based, The solver device includes a weight memory that stores the plurality of weight values. An information processing device described in any one of technical proposals 1 to 3.

[0211] [Technical proposal 5] an n-th input value (n is an integer between 1 and N) among the N input values ​​corresponds to an n-th object among the N objects; the data includes input information regarding at least one subject among the N subjects; When the data acquisition includes the input information related to the n-th target, the n-th input value stored in the input memory is rewritten based on the input information related to the n-th target; In generating the combinatorial optimization problem, the plurality of weight values ​​are generated based on the N input values ​​stored in the input memory, and the generated plurality of weight values ​​are written to the weight memory. An information processing device described in Technical Proposal 4.

[0212] [Technical proposal 6] an n-th decision variable among the N decision variables represents whether or not to perform a predetermined operation on the n-th object; the output data includes output information indicating that the predetermined operation is to be performed on at least one of the N objects identified by the solution; The prediction data includes prediction information that predicts the input information for at least one of the N subjects. An information processing device according to technical proposal 5.

[0213] [Technical proposal 7] The input memory includes: a first memory for storing N first values; a second memory for storing N second values; Including, an n-th first value among the N first values ​​corresponds to the n-th object; an n-th second value among the N second values ​​corresponds to the n-th object; In acquiring the data, when the data including the input information related to the n-th object is acquired, the n-th first value among the N first values ​​stored in the first memory is rewritten; When the prediction data including the prediction information related to the n-th target is acquired, the n-th second value among the N first values ​​stored in the second memory is rewritten. An information processing device according to Technical Proposal 6.

[0214] [Technical proposal 8] the input memory further includes a third memory for storing N flags; an n-th flag among the N flags indicates whether the n-th second value is written more recently than the n-th first value; In generating the combinatorial optimization problem, the n-th flag is referenced, and one of the n-th first value and the n-th second value that has been newly written is read from the first memory or the second memory, and the read value is set as the n-th input value. An information processing device according to Technical Proposal 7.

[0215] [Technical proposal 9] In outputting the output data, the output of the output data to the first device is stopped based on the number of input values ​​based on the prediction information included in the prediction data, among the N input values ​​read from the input memory for generating the combinatorial optimization problem. An information processing device according to any one of technical proposals 6 to 8.

[0216] [Technical proposal 10] The solver device outputs a cost value obtained by substituting the solution into the cost function; In the output of the output data, an evaluation value is calculated by adding the cost value and a value obtained by multiplying the number by a predetermined coefficient, and the output of the output data to the first device is stopped in accordance with the evaluation value. An information processing device described in Technical Proposal 9.

[0217] [Technical proposal 11] moreover, a first counter that counts a number of writes representing a number of times the nth first value is written to the first memory after the nth second value is written to the second memory; a second counter that counts the number of times that a difference between the n-th second value written to the second memory and the n-th first value written to the first memory after the n-th second value is written to the second memory falls within a predetermined range; Equipped with In the output of the output data, the output of the output data to the first device is stopped based on a ratio of the number of times that the difference with respect to the number of writes falls within the predetermined range. An information processing device according to Technical Proposal 7 or 8.

[0218] [Technical proposal 12] The solver device outputs a cost value obtained by substituting the solution into the cost function; In the output of the output data, an evaluation value is calculated by adding the cost value and a value obtained by multiplying the ratio by a predetermined coefficient, and the output of the output data to the first device is stopped in accordance with the evaluation value. An information processing device according to technical proposal 11.

[0219] [Technical proposal 13] In the acquisition of the data, a market condition packet is acquired as the data from a market server device which trades the N targets; the market packet includes a trading price for at least one of the N objects; an n-th decision variable (n is an integer between 1 and N) among N decision variables included in a cost function in the combinatorial optimization problem corresponds to an n-th object among the N objects; The n-th decision variable represents whether or not to trade the n-th object; In executing the processing based on the solution, determining whether to trade for each of the N objects based on the solution; generating, as the output data, an order packet including transaction information for an object determined to be traded among the N objects, and transmitting the packet to the market server device; In generating the prediction data, a prediction packet including a predicted price that predicts the trading price of at least one of the N targets is generated as the prediction data. An information processing device according to any one of technical proposals 1 to 12.

[0220] [Technical proposal 14] the market condition packet includes first information indicating a price and a quantity of outstanding sell orders and a price and a quantity of outstanding buy orders for at least one of the N objects; In generating the prediction data, a transaction price after a transaction based on the order packet is concluded is predicted for the target to be traded in the order packet based on the first information, and the prediction packet including the predicted transaction price is generated. An information processing device according to Technical Proposal 13.

[0221] [Technical proposal 15] the data includes coordinate data representing coordinates of at least one object; outputting the output data including output information for controlling a moving object to a control device in executing a process based on the solution; In generating the predicted data, a motion of the moving object after the output data is output to the control device is predicted, and the predicted data is generated including the coordinate data that predicts the coordinates of the at least one object based on the predicted motion of the moving object. An information processing device according to any one of technical proposals 1 to 12.

[0222] [Technical proposal 16] Each of the multiple decision variables included in the cost function in the combinatorial optimization problem is a binary discrete variable. An information processing device according to any one of technical proposals 1 to 15.

[0223] [Technical proposal 17] The cost function is a quadratic function of the plurality of decision variables. An information processing device according to Technical Proposal 16.

[0224] [Technical proposal 18] The combinatorial optimization problem is a QUBO (Quadratic Unconstrained Binary Optimization) problem. An information processing device described in Technical Proposal 17.

[0225] [Technical proposal 19] The solver device reduces the QUBO problem to an Ising problem and solves it. An information processing device according to Technical Proposal 18.

[0226] [Technical proposal 20] The solver device solves the Ising problem by a simulated bifurcation algorithm. An information processing device as described in Technical Proposal 19.

[0227] [Technical proposal 21] the cost function is a cubic or higher function of the plurality of decision variables; The combinatorial optimization problem is a HUBO (Higher Order Binary Optimization) problem. An information processing device described in Technical Proposal 17.

[0228] [Technical proposal 22] An information processing method for executing processing on data by an information processing device, comprising: The information processing device, Obtaining the data, A combinatorial optimization problem is generated based on the data, and the problem is solved by a solver device; obtaining a solution to the combinatorial optimization problem from the solver device, generating output data based on the solution, and outputting the output data to a first device; generating predicted data that predicts the data that will be obtained after the output data is provided to the first device; The information processing device acquires the prediction data as one of the data in acquiring the data. Information processing methods.

[0229] [Technical proposal 23] A program for causing a computer to function as an information processing device that executes processing on data, The computer, Obtaining the data, A combinatorial optimization problem is generated based on the data, and the problem is solved by a solver device; obtaining a solution to the combinatorial optimization problem from the solver device, generating output data based on the solution, and outputting the output data to a first device; Generate predicted data that predicts the data that will be obtained after the output data is provided to the first device. It works like this, The computer acquires the prediction data as one of the data in acquiring the data. program.

[0230] [Technical proposal 24] Circuit information describing a configuration of a circuit, the circuit information being written in a hardware description language, causing the circuit to function as an information processing device that performs processing on data; The information processing device includes: Obtaining the data, A combinatorial optimization problem is generated based on the data, and the problem is solved by a solver device; obtaining a solution to the combinatorial optimization problem from the solver device, generating output data based on the solution, and outputting the output data to a first device; generating predicted data that predicts the data that will be obtained after the output data is provided to the first device; The information processing device acquires the prediction data as one of the data in acquiring the data. Circuit information.

[0231] [Technical proposal 25] Circuit information to be written into a reconfigurable semiconductor device in order to operate the reconfigurable semiconductor device, causing the reconfigurable semiconductor device to function as an information processing device that executes processing on data; The information processing device includes: Obtaining the data, A combinatorial optimization problem is generated based on the data, and the problem is solved by a solver device; obtaining a solution to the combinatorial optimization problem from the solver device, generating output data based on the solution, and outputting the output data to a first device; generating predicted data that predicts the data that will be obtained after the output data is provided to the first device; The information processing device acquires the prediction data as one of the data in acquiring the data. Circuit information. [Explanation of symbols]

[0232] 10. Market System 12 Market Server Equipment 14 Client Device 16 Receiving section 17 Matching section 18 Distribution Department 20 Information processing device 32 Input Memory 34. Presence Information Memory 36 Acquisition Department 40 Solver Device 42 Problem generation part 44 State control section 46 Processing Execution Unit 48 Prediction Department 50 weight memory 62 Current value memory 64 predicted value memory 66 Flag Memory 68 Flag Counter 70 Write detection unit 72 Comparison section 74 Write Counter 76 Match Counter 78 Accuracy calculation section 110 Mobile Control System 112 Object detection device 114 Control device

Claims

1. An information processing device that executes processing on data, Obtaining the data, A combinatorial optimization problem is generated based on the data, and the problem is solved by a solver device; obtaining a solution to the combinatorial optimization problem from the solver device, generating output data based on the solution, and outputting the output data to a first device; generating predicted data that predicts the data that will be obtained after the output data is provided to the first device; In acquiring the data, the prediction data is acquired as one of the data. Information processing device.

2. In acquiring the data, the data is acquired repeatedly; The value included in the data is changed by providing the output data to the first device. The information processing device according to claim 1 .

3. In generating the combinatorial optimization problem, the combinatorial optimization problem is generated in response to acquisition of the data or at a preset cycle, and the combinatorial optimization problem is solved by the solver device. The information processing device according to claim 1 .

4. The cost function in the combinatorial optimization problem includes N decision variables (N is an integer equal to or greater than 2) and a plurality of weight values, a term included in the cost function is represented by multiplication of one or more decision variables among the N decision variables and any one of the plurality of weight values; Further, an input memory is provided for storing N input values ​​on which the plurality of weight values ​​are based, The solver device includes a weight memory that stores the plurality of weight values. The information processing device according to claim 1 .

5. an n-th input value (n is an integer between 1 and N) among the N input values ​​corresponds to an n-th object among the N objects; the data includes input information regarding at least one subject of the N subjects; When the data acquisition includes the input information related to the n-th target, the n-th input value stored in the input memory is rewritten based on the input information related to the n-th target; In generating the combinatorial optimization problem, the plurality of weight values ​​are generated based on the N input values ​​stored in the input memory, and the generated plurality of weight values ​​are written to the weight memory. The information processing device according to claim 4.

6. an n-th decision variable among the N decision variables represents whether or not to perform a predetermined operation on the n-th object; the output data includes output information indicating that the predetermined operation is to be performed on at least one of the N objects identified by the solution; The prediction data includes prediction information that predicts the input information for at least one of the N subjects. The information processing device according to claim 5 .

7. The input memory includes: a first memory for storing N first values; a second memory for storing N second values; Including, an n-th first value among the N first values ​​corresponds to the n-th object; an n-th second value among the N second values ​​corresponds to the n-th object; In acquiring the data, When the data including the input information related to the n-th target is acquired, the n-th first value among the N first values ​​stored in the first memory is rewritten; When the prediction data including the prediction information related to the n-th target is acquired, the n-th second value among the N first values ​​stored in the second memory is rewritten. The information processing device according to claim 6.

8. the input memory further includes a third memory for storing N flags; an n-th flag among the N flags indicates whether the n-th second value is written more recently than the n-th first value; In generating the combinatorial optimization problem, the n-th flag is referenced, and one of the n-th first value and the n-th second value that has been newly written is read from the first memory or the second memory, and the read value is set as the n-th input value. The information processing device according to claim 7.

9. In the output of the output data, the output of the output data to the first device is stopped based on the number of input values ​​based on the prediction information included in the prediction data, among the N input values ​​read from the input memory for generating the combinatorial optimization problem. The information processing device according to claim 6.

10. The solver device outputs a cost value obtained by substituting the solution into the cost function; In the output of the output data, an evaluation value is calculated by adding the cost value and a value obtained by multiplying the number by a predetermined coefficient, and the output of the output data to the first device is stopped in accordance with the evaluation value. The information processing device according to claim 9.

11. moreover, a first counter for counting a number of writes representing a number of times the nth first value is written to the first memory after the nth second value is written to the second memory; a second counter that counts the number of times that a difference between the nth second value written to the second memory and the nth first value written to the first memory after the nth second value is written to the second memory falls within a predetermined range; Equipped with In the output of the output data, the output of the output data to the first device is stopped based on a ratio of a number of times that the difference with respect to the number of writes falls within the predetermined range. The information processing device according to claim 7.

12. The solver device outputs a cost value obtained by substituting the solution into the cost function; In the output of the output data, an evaluation value is calculated by adding the cost value and a value obtained by multiplying the ratio by a predetermined coefficient, and the output of the output data to the first device is stopped in accordance with the evaluation value. The information processing device according to claim 11.

13. In the acquisition of the data, a market condition packet is acquired as the data from a market server device which trades the N targets; the market packet includes a trading price for at least one of the N objects; an n-th decision variable (n is an integer between 1 and N) among N decision variables included in a cost function in the combinatorial optimization problem corresponds to an n-th object among the N objects; The n-th decision variable represents whether to trade the n-th object, In executing the processing based on the solution, determining whether to trade for each of the N objects based on the solution; generating, as the output data, an order packet including transaction information for an object determined to be traded among the N objects, and transmitting the packet to the market server device; In generating the prediction data, a prediction packet including a predicted price that predicts the trading price of at least one of the N targets is generated as the prediction data. The information processing device according to claim 1 .

14. the market condition packet includes first information indicating a price and a quantity of outstanding sell orders and a price and a quantity of outstanding buy orders for at least one of the N objects; In generating the prediction data, a transaction price after a transaction based on the order packet is concluded is predicted for the target to be traded in the order packet based on the first information, and the prediction packet including the predicted transaction price is generated. The information processing device according to claim 13.

15. the data includes coordinate data representing coordinates of at least one object; outputting the output data including output information for controlling a moving object to a control device in executing a process based on the solution; In generating the predicted data, a motion of the moving object after the output data is output to the control device is predicted, and the predicted data is generated including the coordinate data that predicts the coordinates of the at least one object based on the predicted motion of the moving object. The information processing device according to claim 1 .

16. Each of the multiple decision variables included in the cost function in the combinatorial optimization problem is a binary discrete variable. The information processing device according to claim 1 .

17. The cost function is a quadratic function of the plurality of decision variables. The information processing device according to claim 16.

18. The combinatorial optimization problem is a quadratic unconstrained binary optimization problem (QUBO). The information processing device according to claim 17.

19. The solver device reduces the QUBO problem to an Ising problem and solves it. The information processing device according to claim 18.

20. The solver device solves the Ising problem by a simulated bifurcation algorithm. The information processing device according to claim 19.

21. the cost function is a cubic or higher function of the plurality of decision variables; The combinatorial optimization problem is a HUBO (Higher Order Binary Optimization) problem. The information processing device according to claim 17.

22. An information processing method for executing processing on data by an information processing device, comprising: The information processing device, Obtaining the data, A combinatorial optimization problem is generated based on the data, and the problem is solved by a solver device; obtaining a solution to the combinatorial optimization problem from the solver device, generating output data based on the solution, and outputting the output data to a first device; generating predicted data that predicts the data that will be obtained after the output data is provided to the first device; The information processing device acquires the prediction data as one of the data in acquiring the data. Information processing methods.

23. A program for causing a computer to function as an information processing device that executes processing on data, The computer, Obtaining the data, A combinatorial optimization problem is generated based on the data, and the problem is solved by a solver device; obtaining a solution to the combinatorial optimization problem from the solver device, generating output data based on the solution, and outputting the output data to a first device; Generate predicted data that predicts the data that will be obtained after the output data is provided to the first device It works like this, The computer acquires the prediction data as one of the data in acquiring the data. program.

24. Circuit information describing a configuration of a circuit, the circuit information being written in a hardware description language, causing the circuit to function as an information processing device that performs processing on data; The information processing device includes: Obtaining the data, A combinatorial optimization problem is generated based on the data, and the problem is solved by a solver device; obtaining a solution to the combinatorial optimization problem from the solver device, generating output data based on the solution, and outputting the output data to a first device; generating predicted data that predicts the data that will be obtained after the output data is provided to the first device; The information processing device acquires the prediction data as one of the data in acquiring the data. Circuit information.

25. Circuit information to be written into a reconfigurable semiconductor device in order to operate the reconfigurable semiconductor device, causing the reconfigurable semiconductor device to function as an information processing device that executes processing on data; The information processing device includes: Obtaining the data, A combinatorial optimization problem is generated based on the data, and the problem is solved by a solver device; obtaining a solution to the combinatorial optimization problem from the solver device, generating output data based on the solution, and outputting the output data to a first device; generating predicted data that predicts the data that will be obtained after the output data is provided to the first device; The information processing device acquires the prediction data as one of the data in acquiring the data. Circuit information.

Citation Information

Patent Citations

  • Information processing device, program, information processing method, and electronic circuit

    JP2021043667A

  • Search apparatus, search method, program, search system, and arbitrage system

    JP2021060864A

  • Information processing system and information processing method

    JP2022055720A

  • Methods and apparatuses for optimal decision with quantum device

    US20220222548A1

  • Computer, calculation program, recording medium, and calculation method

    JP2019145010A

Cited By

  • Semiconductor device

    CN122534911A