The CPU, the brain of the computer, is the mechanism that executes the programs for various processes, and is composed of the following parts:

- Arithmetic unit
- Processes the data stored in the register.
- Control unit
- Controls the flow of data and processing.
- Storage device (Register)
- Stores the instructions and data to be processed.

These simple mechanisms are combined to perform what the program wants to do. By programming a variety of processes, we can achieve general-purpose calculations.

In conventional computers, the performance of the CPU has been improving with the progress of semiconductor miniaturization, and the overall performance of the CPU has been improving along with it. However, miniaturization is approaching its physical limit and big performance improvements will not likely be expected anymore. Therefore, application-specific computers that achieve high performance by specializing in specific processing have been the new focus. The annealing machine is a type of application-specific computer that focuses on optimization.

To solve a problem on a traditional Neumann architecture computer, we had to devise a procedure/algorithm for solving the problem, write the algorithm as a sequence of instructions for the CPU, and execute the sequence of instructions sequentially on CPU. It sometimes uses techniques to increase speed by executing multiple instructions in parallel, but mostly a traditional computer executes an essentially sequential sequence of instructions.

In contrast, an annealing machine defines an abstract physical model (Ising model) and puts the desired combinatorial optimization problem into this model (mapping). The energy of the model is then varied, and the answer is obtained at the lowest energy state (ground state).

Compared to the Neumann architecture computer, which performs operations in binary numbers (0/1) and executes processing sequentially through branching, decision making, and repetition processes, the processing with the Ising model feels like a natural phenomenon like living things, waves, or wind, and is therefore called natural computing. In other words, instead of processing the problem sequentially, the convergence behavior of the natural phenomenon itself is used to process the problem, making it possible to solve the problem at high speed even when the problem gets larger.

How can we imagine the Ising model? Simply put, it is a collection of spins and couplings. A single element in the Ising model is called a spin, and it can take on two values, +1/-1. Many spins interact with each other and each spin is subjected to an external force of + or -. It is a model that describes how the set of spins (the Ising model as a whole) behaves. In a quantum annealing machine, qubits play the role of these spins, and in a CMOS annealing machine, semiconductor memory and digital circuits are used to solve optimization problems by simulating the behavior of spins.

In the Ising model, as the connected spins interact with each other, there are countless patterns/combinations where the energy of the entire Ising model is high or low. The combination of the spins when they settle down to the lowest energy state, i.e., which ones are +1 and which ones are -1, represents the optimal solution of the optimization problem to be sought.

We believe that annealing machines can overcome the barrier that Neumann architecture computers cannot because annealing machines are application-specific, non-Neumann architecture computers.

If you want to know specific examples of solving
combinatorial optimization problems with an annealing machine

Combinatorial optimization will be explained by using two easy-to-understand examples of familiar combinatorial optimization problems. The importance of finding and using fast solution methods for combinatorial optimization processes in an IoT society will also be discussed.

In the wake of the COVID-19 epidemic, we present a use case in which an annealing machine is used to create shifts for researchers under constraints that take into account the risk of infection.

This article presents a use case in which an annealing machine is used to formulate a reinsurance portfolio that leverages the vast amount of data held by an insurance company to address natural catastrophe risks.

If you want to know how to use an annealing machine

For beginners, this article explains the procedures and key points of the process of solving optimization problems with an annealing machine. The process involves dividing the problem into four stages: "organizing problem and defining problem," "formulation," "input data preparation," and "executing CMOS annealing machine".

This article provides an easy-to-understand explanation of the mathematical assumptions you need to understand, focusing on "quadratic" and "discrete," which are some of the characteristics of the problems that annealing machines excel at solving.