Most of the information devices we use today, such as PCs and smartphones, web servers that send out
websites, IoT devices, and mission-critical systems that control power supply, are processed by
Neumann-type computers. In a Neumann-type computer, the CPU (Central Processing Unit) and memory play
the role of the
brain that performs the processing. In a Neumann-type computer, a mechanism is constructed to execute
intentions according to the program. This type of computer is called a "general-purpose computer"
because it can perform
a variety of processes by being programmed to do what the user wants it to do.
These general-purpose computers will not disappear in the future. Most of the AI processing that is
throughout society with dramatic results is also defined based on conventional computers. In contrast,
machines and quantum computers are completely different and new types of computers.
In conventional Neumann-type computers, progress in semiconductor miniaturization has improved the
performance of CPUs
and memory, resulting in improved computer performance. However, the miniaturization of semiconductors
its limits, and the performance improvement is reaching a plateau. Therefore, in contrast to
general-purpose computers that can solve any problem, "domain-specific computers," which achieve high
specializing in specific processing, have been proposed. An annealing machine is a type of
that focuses on the use of optimization.
Let's dig a little deeper into general-purpose computers to understand the difference between a
traditional computer and
an annealing machine. Basically, when we run a program on our PC, what is going on between the program
and the computer?
A complex program is also a huge collection of instructions. Each instruction is executed in a
branching process. Looking at the instructions more closely, they are a set of information, either 
or , to be
conveyed to the machine.
The picture below shows an example of a logic circuit when a circuit that performs operations in a
CPU is decomposed. As
an example, the top is a logical product (AND circuit) and the bottom is a logical OR circuit. When 0
or 1 is input to
each logic circuit, they are operated and the answer is output. A program converted into a set of 0s
and 1s that
hardware can operate on is called a machine language because it is the most machine-like program.
Furthermore, a program consists of instructions, execution, and the sequential, iterative, and
branching processes that
execute them. Although architectures have been developed to execute complex problems in parallel at
fundamentally they are sequential processes, so other methods were needed to process combinatorial
and other problems at high speed. For example, an annealing machine has been proposed for solving
How an annealing machine works
There is a concept called the Ising model that is indispensable to an annealing machine. It is
defined as a basic model
of statistical mechanics with a simple structure consisting of a large number of spins in either the
[+1] or [-1] state
and an interaction between the two spins. The basic theory behind the use of an annealing machine is
to use it as a
means of solving a problem with a binary combination of variables. However, this is not the only
considering the problem to be solved. The engineer must define the binary variables as the spin
equivalent of the Ising
model, and then formulate the cost function of the problem to be solved into an expression for the
energy (also called
Hamiltonian) of the Ising model. Once the Ising model is formulated, the annealing machine will search
for the low
energy state of the Ising model and show us the solution. The process may be faster than with
Ising model formulations are a large part of this field
The formulation to be done by the engineer is structured in such a way that it can be understood by
first reading the
explanation of what is the Ising model, which is discussed on
next page, and then reading the tutorial on the demo
application. Formulating the problem is the first step in utilizing an annealing machine, and it
is also the most
important theme in our research field. Please keep this in mind, even if you are in the roll of
machines to your business or operations.
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
optimization problems. The importance of finding and using fast solution methods for combinatorial
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
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