The main story circling how we compute ‘power’ relates to the varying problems it can solve. By power, we mean the capacity of the computer to tackle and solve problems.

If we break compute power into four sections ...

(1) Central Processing Unit (CPU) as the computer’s general-purpose processor, an electronic circuitry that executes instructions comprising a computer program. The CPU performs basic arithmetic, logic, controlling, and input/output (I/O) operations specified by the instructions in the program. The form, design, and implementation of CPUs have inevitably evolved, but their fundamental operation remains almost unchanged. The core components of a CPU include the arithmetic–logic unit (ALU) that performs arithmetic and logic operations, processor registers that supply operands to the ALU and store the results of ALU operations, and a control unit that orchestrates the fetching (from memory), decoding and execution of instructions by directing the coordinated operations of the ALU, registers and other components.

(2) A graphics processing unit (GPU) is a specialised electronic circuit designed to rapidly manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display device. GPUs are used in embedded systems, mobile phones, personal computers, workstations, and game consoles. Modern GPUs are very efficient at manipulating computer graphics and image processing. Their highly parallel structure makes them more efficient than general-purpose central processing units (CPUs) for algorithms that process large blocks of data in parallel.

(3) According to Graphcore, ‘the IPU is a completely new kind of massively parallel processor, co-designed from the ground up to accelerate machine intelligence’

(4) A quantum processing unit (QPU) is a physical or simulated processor that contains a number of interconnected (simulated, physical, or optical) qubits (qubits are quantum bit that operate in a superposition state and are entangled with other qubits) that can be manipulated to compute quantum algorithms, generally applied to solving combinatorically difficult problems.

And if you thought that might be the story’s end, wait, because we also have DNA processors which are potentially more powerful than even quantum computers. They could be the right solution for NP-complete problems which arguably are the most important problems to be solved in logistics, finance, crypto and more.

A DNA processor design is being formulated which solves the 3SAT problem, which is NP-complete, meaning that we would be able to solve all NP problems within P time.

Let’s take a look at the P, and NP set of problems. Problems are classified into groups based on their common attributes, including how to solve them by a computer. Polynomial problems (P) can be solved relatively easy, we use computing ‘power’ proportional to the input data to solve them.

For example, if we’re listing cities in descending order, we can use a sorting algorithm to solve it. If we also list all towns, thereby massively increasing the size of the problem, we can add compute resource and still solve the problem.

Nondeterministic Polynomial problems (NP) are such that it can be easy to verify the solution once it is known, though the problem can be hard to solve. An excellent example would be Fermat's Last Theorem which took centuries to solve, while it took only months to verify that the proof was correct.

Chess is another example. It is easy to find whether there is checkmate or not in the present move, but hard to actually find a list of moves that would lead to a checkmate. In all these cases, solving the problem takes a non-deterministic time, while verifying the proof just takes a polynomial time.

The question is, can we solve these NP problems in polynomial time just like we can verify the solutions to these problems in polynomial time?

While many believe that there is no way to solve these problems in polynomial time, there is no way to prove it so far. P versus NP is thus a challenge to come with a mathematical proof to state either that the class of problems under NP can be solved under polynomial time or cannot be solved under polynomial time.

If we were able to show P= NP, a whole new revolution could occur in computing where a number of important problems to mankind could be solved with deterministic algorithms instead of heuristics.

But with an ultra-powerful computer we may be able to solve NP problems easily, whether P=NP or not. In which case we could get straight on with solving thousands of problems that are beyond us at the moment.

Sadly though, this capacity generates a double-edged sword as it all rather depends on the problems we and others hope to solve.

Hence, The Emerging Tech Radar ensures we understand the science and tech underpinning advancements, where and when they may make breakthroughs, and what this could mean.

These are my opinions, what do you think? And if you were to decide how to apportion future investment in computing, how might you allocate the funds bearing in mind the above, and your own thoughts? Do you go scatter gun, and try everything, or take a more focussed approach?

Mike E. Halsall, August 2022

## コメント