Introduction to Hard Problems

1 Introduction

The core problem of computational complexity lies in:

  • What is easy for a computer to achieve? What is almost impossible for a computer to achieve?

How difficult is a hard problem fundamentally? This is a fundamental task for computer scientists who wish to classify problems into so-called "complexity classes". Included in these "complexity classes" are all computational problems that require less than a certain amount of computational resources -- such as time or memory.
According to "complexity classes", Hard Problems can be divided into the following hierarchy:
insert image description here
one of them contains all other hard problems, and some hard problems require additional computing resources.

To give a simple example, for the large number 123,456,789,001, ask 2 questions:

  • Question 1: Is the number prime? Divisible only by 1 and itself: Computer scientists can use fast algorithms to solve this problem—algorithms that don't get bogged down by numbers getting arbitrarily large.
  • Question 2: What are the prime factors of this number? There is currently no fast algorithm to solve this problem unless a quantum computer is used.

That is, from the perspective of computer scientists, these two problems belong to different complexity classes.

There are many different complexity classes, but in most cases, researchers have not been able to prove that one class is absolutely different from other classes. Demonstrating these types of taxonomic distinctions is one of the most difficult and important open problems in the field.

Differences between complexity classes can be subtle or stark, and keeping classes straight is a challenge. For this reason, this article focuses on the seven most fundamental complexity classes:

  • 1)P
  • 2)BPP
  • 3)BQP
  • 4)NP
  • 5)PH
  • 6)PSPACE
  • 7)EXPTIME

2. P

P means:

  • Polynomial time。

The so-called P hard problem refers to:

  • All problems that are easily solved by a classical (i.e. non-quantum) computer.

To be precise, it means:

  • Algorithms in P must be at most ncn^cnStop running and give the correct answer within the c time limit, where nnn is the input length,ccc is a constant value.

The classic P hard problems are:

  • Is a certain number prime?
  • Shortest path between 2 points?

What current researchers want to know is:

  • Are P and NP equivalent? Equivalently, it would upend computer science and render most cryptography useless overnight. (Hardly anyone thinks so.)

3. NP

NP means:

  • Nondeterministic Polynomial time

The so-called NP hard problem refers to:

  • All problems can be quickly verified on a classical computer once the solution to the problem is given.

To be precise, it means:

  • If a problem is an NP Problem and the answer to the question is known to be "yes", there is a short proof to prove that the answer is correct. If the input is string X, the answer needs to be judged to be "yes", and the corresponding short proof is string Y, and Y can be used to verify that the answer is indeed "yes" within polynomial time. (Y is sometimes called a "short witness" -- all NP Problems have "short witnesses" that are quickly verifiable.)

Classic NP hard problems are:

  • Clique problem. Imagine a graph with edges and nodes—for example, in this graph, nodes are individuals on Facebook, and two nodes are connected by an edge if they are "friends". A clique is a subset of the graph in which everyone is a friend of everyone else. Someone may ask in the picture: Is there a group of 20 people? 50 people? 100? Finding such cliques is an "NP-complete" problem, meaning it is the most complex of any problem in NP. But given a potential answer—a subset of 50 nodes that may or may not form cliques—it's easy to check.
  • The traveling salesman problem. Given a list of cities, and examples between any two cities, is there a way to traverse all cities in less than a certain number of miles? For example, can a traveling salesman travel through the US state capitals in less than 11,000 miles?

What current researchers want to know is:

  • Are P and NP equivalent? Computer scientists are far from solving the problem.

4. PH

PH Representative: Polynomial Hierarchy

The so-called PH hard problem refers to:

  • Generalization for NP. It contains all NP problems and adds an additional complexity layer.

To be precise, it means:

  • PH contains some questions with alternating "quantifiers" (alternate quantifiers), these "quantifiers" to make the problem more complex. Alternating "quantifiers" problem example: Given X, is there a Y such that for every Z there exists W such that R occurs? The more quantifiers a problem contains, the more complex it is and the higher its polynomial level.

The classic PH problem is:

  • Determine whether there is a group of 50 people but not a group of 51 people.

What current researchers want to know is:

  • Computer scientists haven't been able to prove that PH is different from P. The question is equivalent to "is P equal to NP", and should be that if (unfortunately) P=NP, then all PH will collapse to P, that is, P=PH.

5. PSPACE

PSPACE says:

  • Polynomial Space。

The so-called PSPACE hard problem refers to:

  • All problems that can be solved with a reasonable amount of memory.

To be precise, it means:

  • PSPACE does not care about time, only the amount of memory required to run an algorithm. Computer scientists have shown that PSPACE contains PH, which in turn contains NP, and which in turn contains P.

Classic PSPACE problems are:

  • Every P problem, NP problem and PH problem is a PSPACE problem.

What current researchers want to know is:

  • Is there any difference between P and PSPACE?

6. Defense

BQP says:

  • Bounded-error Quantum Polynomial time

The so-called BQP problem refers to:

  • All problems that can be easily solved by a quantum computer.

To be precise, it means:

  • All problems that can be solved by quantum computers in polynomial time.

The classic BQP puzzles are:

  • Identify the prime factors of a positive number.

What current researchers want to know is:

  • Computer scientists have shown that BQP is contained in PSAACE and that P is contained in BQP. But not sure if BQP is in NP, but computer scientists firmly believe that NP and BQP are incomparable: that is, some problems are NP but not BQP, and vice versa.

7. EXPTIME

EXPTIME says:

  • Exponential Time

The so-called EXPTIME problem refers to:

  • All problems that can be solved by a classical computer in an exponential amount of time.

To be precise, it means:

  • The EXPTIME puzzle includes all the previous categories - P, NP, PH, PSPACE, BQP. Researchers have shown that EXPTIME is different from P because problems have been found that belong to EXPTIME, which is not part of the P-hard problem.

Classic EXPTIME puzzles are:

  • The usual chess and checker games belong to EXPTIME. If the chessboard can be of any size, it is the EXPTIME problem to judge whether a certain chess player has an advantage in a particular chessboard position.

What current researchers want to know is:

  • Computer scientists want to be able to prove that PSPACE does not contain EXPTIME. They think that the problem existing in EXPTIME is not in PSPACE, because sometimes a lot of memory is needed in EXPTIME to solve the problem. Computer scientists know how to separate EXPTIME and P.

8. BPP

BPP said:

  • Bounded-error Probabilistic Polynomial time

The so-called BPP problem refers to:

  • A problem that can be solved quickly by an algorithm involving random numbers.

Precisely:

  • BPP is exactly the same as P, but differs in that the algorithm allows a step of decision randomization to be included. Algorithms in BPP only need to give correct answers with probability close to 1.

The classic BPP puzzles are:

  • There are 2 different consensuses, each generating a polynomial with many variables. Are these 2 formulas computing the exact same polynomial? - called polynomial identity testing problem.

What current researchers want to know is:

  • Computer scientists wonder if BPP=P holds. If true, it means that every randomization algorithm can derandomize. Scientists think that's the case—for every problem for which there is an efficient random algorithm, there is an efficient deterministic algorithm—but they can't prove it.

References

[1] Kevin Hartnett's blog A Short Guide to Hard Problems on Quanta Magazine in 2018

Guess you like

Origin blog.csdn.net/mutourend/article/details/132554413