Annealing Machine and Ising Model

Traditional computer

Most of the information devices we use today, such as PCs and smartphones, web servers that send out information on websites, IoT devices, and mission-critical systems that control power supply, are processed by computers called 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 the programmer's 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 currently spreading throughout society with dramatic results is also defined based on conventional computers. In contrast, annealing 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 is approaching its limits, and the performance improvement is reaching a plateau. Therefore, in contrast to conventional general-purpose computers that can solve any problem, "domain-specific computers," which achieve high performance by specializing in specific processing, have been proposed. An annealing machine is a type of application-specific computer 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 sequential, repetitive, branching process. Looking at the instructions more closely, they are a set of information, either [0] or [1], 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 high speed, fundamentally they are sequential processes, so other methods were needed to process combinatorial optimization problems and other problems at high speed. For example, an annealing machine has been proposed for solving combinatorial optimization problems.

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 condition when 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 conventional computers.

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 the 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 applying annealing machines to your business or operations.

ACW Skills Roadmap

Have you read the article? Mark your skills roadmap.

This article is part of the ACW Skills Roadmap. Use the skills roadmap to learn with ACW.

SNS Sharing

Did you find the article helpful? Please share it with others.

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

What is the combinatorial optimization problem?

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.

Optimization of researcher shifts with consideration for COVID-19 infection control

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.

Optimizing reinsurance portfolio

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

Easy-to-learn optimization flow

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".

Math for Annealing Machines

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.