A review of solving NP difficult problems

Source: Internet
Author: User

A review of solving NP difficult problems

Abstract: define NP Problem and P class problem, and introduce some common NP problems, and some solution methods of NP problem, finally, the development direction of the most NP problem is prospected.

Key Words: Optimization Problem of P-class problem algorithm for NP-hard problem

Body:

A. NP Difficult problems and P Class Problems

In order to explain the NP-hard problem and P-class problem, we first introduce the two concepts of deterministic and non-deterministic algorithms, and set A is an algorithm to solve the problem π, if there is only one definite choice for each step during the whole execution of the algorithm, it is said that the algorithm A is deterministic ( Determinism) algorithm . Set A is an algorithm to solve the problem π, if the algorithm a in the following guess and verify the way to work, it is called the algorithm A is a non-deterministic (nondeterminism) algorithm : (1) guessing stage: at this stage, An arbitrary string y is generated for the input instance of the problem, and the value of string y may be different at each run of the algorithm, so the guess works in a non-deterministic form. (2) Validation phase: At this stage, a deterministic algorithm is used to verify that ① checks whether the string y produced in the guessing phase is the appropriate form, if not, the algorithm stops and gets No;② if the string y is the appropriate form, then verifies that it is the solution of the problem, and if so, the algorithm stops and gets yes, Otherwise the algorithm stops and gets no.

What is NP-hard problem, if for a certain decision problem π, there is a non-negative integer k, for an instance of the input scale n, can run a non-deterministic algorithm at O (NK) time, get the answer of Yes or no, then the judgment question π is a NP class ( nondeterministic Polynomial ) Issue .

To make π a determinant problem, if π ', which has π ' ∝pπ for every problem in NP-type problems, it is a NP - Hard Problem to judge the problem π.

What is a P-class problem, if for a certain decision problem π, there is a non-negative integer k, for an instance of the input size n, can run a deterministic algorithm at O (NK) time, to get the answer to Yes or no, then the judgment question π is a P class ( Polynomial) problem . All the easy-to-solve problems are P-class problems.

The main differences between P-class and NP-type problems are: P-class problems can be judged or solved by deterministic algorithms of polynomial time, and NP-class problems can be judged or solved by using polynomial-time non-deterministic algorithms.

two. Common NP Class Problems

The above describes what is NP, and below I will introduce some of the common NP problems I have consulted, they are also famous NP problem.

① Graph Coloring Problem : Color The 16 edges as shown in the figure, so no matter where you start, follow the "Blue Red Red Blue Red Red" Route 9 steps, you must finally reach the yellow vertex. The course coloring theorem means that in the case of a direction graph satisfying certain conditions, such coloring method must exist. The strict mathematical description is as follows. Let's start by defining synchronous coloring. G is a finite graph and the degree of each vertex of G is k. A synchronous coloring of G satisfies the following two conditions: 1) Each vertex of G has and only one edge is dyed to a certain color between 1 and K; 2) each vertex of G corresponds to a way of walking, no matter where you start, press the Walk, and end at the vertex. There's a parallel to graph G.

  

The requirement for color is that G is strongly connected and non-cyclical. A graph that is non-periodic refers to the number of conventions with no more than 1 of the length of all the rings contained in the graph. The course coloring theorem for these two conditions (strong connectivity and non-cyclical) is also sufficient. In other words, there is a sedan to graph G that is synchronous and only if G is strongly connected and is non-cyclical.

② Hamiltonian circuit problem: The astronomer Hamilton Hamilton Rowan that in a map network with multiple cities, look for a path that passes through all the other cities, from the given starting point to the given end point. The difference between this problem and the famous bridge problem is that travel between certain cities is not necessarily two-way. such as A→b, but B→a is not allowed. In other words, for a given network, after determining the starting and ending points, if there is a path through the network, we say that the network exists Hamiltonian path. The Hamilton path problem was proved to be "NP-complete" at last in the early 70. It is said that a problem of this nature is difficult to find an effective algorithm. In fact, for networks with less than 100 vertices, it can take a long time (perhaps hundreds of years) to take advantage of the best available algorithms and computers to determine if there is a path like this.

③tsp problem: The Traveling salesman problem, the TSP problem (traveling salesman problem) is one of the most famous problems in the field of mathematics. Suppose there is a travel merchant to visit N cities, he must choose the path to go, the limit of the road is that each city can only visit once, and finally return to the original departure of the city. The path selection target is the minimum required path distance for all paths. TSP problem is a combinatorial optimization problem. This problem can be proven to have NPC computational complexity.

The above three is a very famous NP problem, it is also a more common NP problem. Their algorithm is very complex, it takes a long time to find an optimal algorithm, but because of the complexity of these problems, they have attracted much attention. Of course, the NP problem itself is one of the seven math problems in the world.

three. Solving NP common approaches to class problems

We are not at the end of our wits about the intractable NP problems, and there are some ways we can explore the NP problem.

① Approximate algorithm: all known algorithms for solving NP-hard problems have exponential run time. However, if we are looking for a "good" solution rather than an optimal solution, the polynomial algorithm is sometimes present. Given a minimization problem and an approximate algorithm, we evaluate the algorithm according to the following method: First, a lower bound of the optimal solution is given, then the result of the algorithm is compared with the lower bound. For the maximization problem, an upper bound is given and the result of the algorithm is compared with the upper bound. The classical problems of approximate algorithms include: minimum vertex coverage, travel salesman problem, collection overlay, etc.

② Probabilistic algorithm: A number of algorithms are fixed for each calculation step, and the probability algorithm allows the algorithm to randomly select the next calculation step in the process of execution. In many cases, when the algorithm faces a choice in the execution process, the stochastic selection is often more time-saving than the optimal choice. Therefore, the probability algorithm can reduce the complexity of the algorithm to a great extent. One of the basic characteristics of probabilistic algorithms is that the same probabilistic algorithm can be used to solve two times of the same problem. The time required to solve the two-time problem may be quite different from even the resulting results. In general, probability algorithms can be broadly divided into four categories: numerical probability algorithm, Monte Carlo algorithm, Las Vegas (Las Vegas) algorithm and Sherwood (Sherwood) algorithm.

③ Parallel Computing: Parallel Computing or parallel computing is relative to serial computing. The so-called parallel computing can be divided into time parallel and spatially parallel. Parallel in time refers to pipelining, while parallel in space refers to the execution of computations with multiple processors concurrently. Parallel Computing (Parallel Computing) is the process of solving computational problems using multiple computational resources at the same time. To perform parallel computations, the compute resources should include a computer with multiprocessor (parallel processing), a computer-specific number connected to the network, or a combination of both. The main purpose of parallel computing is to solve large and complex computational problems quickly. It also includes the use of non-local resources to save costs-replacing mainframe computers with multiple "inexpensive" computing resources while overcoming the memory limitations that exist on a single computer. Contains the following three characteristics: 1, separating the work into discrete parts, to facilitate simultaneous resolution, 2, to execute multiple program instructions at any time and in a timely manner; 3,

Solving problems under multi-compute resources takes less time than a single computational resource.

④ Intelligent algorithm: in engineering practice, often will be exposed to some relatively "novel" algorithm or theory, such as simulated annealing, genetic algorithm, Tabu search, neural network and so on. These algorithms or theories have some common characteristics (such as simulating natural processes), commonly referred to as "intelligent algorithms". The optimization problem is usually solved by the intelligent optimization algorithm. The optimization problem can be divided into (1) solving a function, making the function optimization problem of the value of the self variable with the smallest function value and (2) in a solution space, finding the optimal solution, making the combination optimization problem with the minimum value of the objective function. Typical combinatorial optimization issues include: Travel quotient issues (traveling salesman problem,tsp), processing scheduling problems (scheduling problem), 0-1 knapsack problems (knapsack problem), and boxing problems (Bin Packing problem) and so on. There are many optimization algorithms, including: Wired programming, dynamic programming and so on; the improved local search algorithm includes the mountain climbing method, the steepest descent method, and so on, the simulated annealing, genetic algorithm and Tabu search described in this paper are called Guided search methods. But the neural network, chaotic search belongs to the system dynamic evolution method.

four. NP Problem Solving future development direction

NP problem is one of the seven problems in the world, which is different from the other six problems in the name, and it is the only maths problem which is not named by the names of people. Because it is not the theory or speculation that a mathematician sparks, brainwave, but a very old problem, involving the most basic mathematical theories, and after hundreds of years of unremitting efforts by countless mathematicians, until now remains an open question that has not been resolved.

NP problem ranked in the world's top seven math problems, seven questions are carefully selected by the Scientific Advisory Committee of the American Clay Institute of Mathematics, the solution of these problems even a little progress, it will be the development of mathematical theory and application of great impetus. The study of these "Millennium Awards" has become a hotspot in the world, a number of mathematicians are organizing joint research, and they are also any of the mathematics workers are dreaming to be extracted from the mathematical crown of the dazzling pearl. It can be expected that these "Millennium Award issues" will change the history of the development of mathematics in the new century. Therefore, the solution of NP problem will be constantly watched, of course, if it is solved one day, then many problems around us will be solved.

Reference Documents :

[1] Huang Wenchi . "Modern Computational Theory guidance: the background, foreground and algorithm research of NP difficulty problem".  Science Press . 2004. 87

[2] Chen Zhiping zongben . Computer Mathematics: Computational complexity theory and the solution of NPC and NP-hard problems, Science press .  2001. 292

A review of solving NP difficult problems

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.