Today, a mainstream of computer architectures is a von Neumann type. In the von Neumann architecture, the operation thereof is defined by a program which is a sequential instruction sequence. The architecture has versatility, that is, it can be used for various purposes by changing the program. Not only a CPU (Central Processing Unit) which plays main roles of a computer, but also a computing device for particular uses such as a GPU (Graphics Processing Unit) employs the von Neumann architecture, and the basic operation thereof is sequential executions of instruction sequences.
In the past, the performance improvement of computers has mainly depended on the improvement of clock frequencies. Since the foundation of the von Neumann architectures is sequential execution of instruction sequences, performance improvement can be expected if the execution speed of instructions is increased. However, in general-purpose CPUs used in personal computers and servers, the improvement of clock frequencies has reached a ceiling at around 3 GHz in the early 2000s. Recently, in place of the clock frequency which has reached a ceiling, the measures which realize the performance improvement by multicore parallel processing have become mainstream.
In the multicore parallel processing, performance is improved by finding out parts that can be executed in parallel from sequential instruction sequences (extraction of parallelism) and executing them in parallel. However, it is not easy to extract parallelism from a program in which sequential algorithms are written as instruction sequences. ILP (Instruction Level Parallelism) which extracts parallelism in an instruction level has already reached a limit, and there is recently a tendency that parallelism having lower granularity such as TLP (Thread Level Parallelism) or DLP (Data Level Parallelism) is used.
In view of such circumstances, in order to improve the performance of computers in the future, there is a need to make a transition to intrinsically parallel information processing instead of being based on the conventional execution of the sequential instruction sequences. For this purpose, instead of the conventional problem description method by sequential instruction sequences, problem descriptions suitable for realizing the intrinsically parallel information processing are required.
As a candidate therefor, various physical phenomena and social phenomena can be expressed by interaction models. The interaction model is a model defined by a plurality of nodes constituting the model, interactions between the nodes and, if needed, bias of each node. Various models have been proposed in physics and social sciences, and each of them can be interpreted as one aspect of the interaction model. Moreover, as a characteristic of the interaction model, the influence between nodes is limited to the interaction between two nodes (interaction between two bodies). For example, if the mechanics of planets in the outer space is considered, this can be interpreted as one type of the interaction model in the point that there are interactions caused by universal gravitation among nodes such as planets. However, the influence among the planets is not limited to that between two planets, and three or more planets are mutually affected and exhibit complex behavior (causing a so-called 3-body problem or multi-body problem).
In the world of physics, typical examples of interaction models include an Ising model. The Ising model is a model of statistical mechanics for describing the behavior of magnetic bodies and is used in research of magnetic bodies. The Ising model is defined as interactions between sites (spins taking two values of +1 and −1). It is known that obtaining a ground state of an Ising model whose topology becomes a non-planar graph is an NP-hard problem. Since the Ising model expresses a problem by interaction coefficients spread in spatial directions, there is a possibility that information processing using intrinsic parallelism can be realized.
Incidentally, since obtaining the ground state of the Ising model is an NP-hard problem as described above, it is difficult in terms of calculation time to solve that by a von Neumann computer. An algorithm that increases the speed by introducing the heuristic has also been proposed. However, there has been proposed a method in which the ground state of the Ising model is obtained at high speed by the calculations using physical phenomena more directly, in other words, by an analog computer instead of the von Neumann computer. For example, a device described in International Publication No. 2012/118064 (Patent Document 1) has been known as such a device.