Senin, 02 Juli 2018

Sponsored Links

NP (complexity) - YouTube
src: i.ytimg.com

In the theory of computational complexity, the decision problem NP-complete is one part of the NP and NP-hard complexity classes. In this context, NP stands for "nondeterministic polynomial time". The NP-complete set of problems is often denoted by NP-C or NPC .

Although any given solution to the NP-complete problem can be verified quickly (in polynomial time), no efficient way is known to find a solution in the first place; the most important characteristic of the NP-complete problem is that there is no quick solution for those that are known. That is, the time it takes to solve a problem using an algorithm that is currently known to increase very quickly because of the size of the problem grows. As a result, determining whether it is possible to solve this problem quickly, called the P versus NP problem, is one of the fundamental problems unsolved in computer science today.

While methods for calculating solutions to NP-complete problems using a reasonable amount of time remain undiscovered, computer scientists and programmers still often face NP-complete problems. The NP-complete problem is often overcome by using heuristic methods and approach algorithms.


Video NP-completeness



Ikhtisar

The NP-complete problem is in the NP, the set of all decision issues whose solutions can be verified in polynomial time; NP can be defined equally as a set of decision issues that can be solved in polynomial time on a non-deterministic Turing machine. A problem p in the NP is NP-complete if every other problem in the NP can be changed (or reduced) to p in polynomial time.

The NP-complete problem is studied because the ability to quickly verify the solution to the problem (NP) seems to be correlated with the ability to solve that problem quickly (P). It is not known whether any problem in NP can be quickly solved - this is called the P versus NP problem. But if the NP-complete problem can be resolved quickly, then any problem in NP can, because the NP-complete problem definition states that any problem in the NP should be quickly reduced to any problem NP-complete (ie, can be reduced in polynomial time). Because of this, it is often said that the NP-complete problem is more difficult than the NP problem in general.

Maps NP-completeness



Formal definition

Masalah keputusan                                    C                           {\ displaystyle \ scriptstyle C}    adalah NP-complete jika:

  1.                                    C                           {\ displaystyle \ scriptstyle C}    dalam NP, dan
  2. Setiap masalah dalam NP dapat direduksi menjadi                                    C                           {\ displaystyle \ scriptstyle C}    dalam waktu polinomial.

                                   C                           {\ displaystyle \ scriptstyle C}    dapat ditunjukkan berada di NP dengan menunjukkan bahwa solusi kandidat untuk                                    C                           {\ displaystyle \ scriptstyle C}    dapat diverifikasi dalam waktu polinomial.

Note that the satisfactory condition problem 2 is said to be NP-hard, whether it meets condition 1 or not.

The consequence of this definition is that if we have a polynomial time algorithm (on UTM, or other Turing-equivalent abstract engine) for                ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ, <Â> C                      {\ displaystyle \ scriptstyle C} , we can solve all problems in NP in polynomial time.

NP HARD AND NP COMPLETE - YouTube
src: i.ytimg.com


​​â € <â €

The NP completeness concept was introduced in 1971 (see Cook-Levin Theorem), although the term NP-complete was introduced later. At the STOC conference of 1971, there was a fierce debate among computer scientists about whether the NP-complete problem could be solved in polynomial time on a deterministic Turing machine. John Hopcroft brings everyone at the conference to a consensus that the question of whether the NP-complete problem can be resolved in polynomial time should be postponed to be resolved at a later date, as no one has any formal proof for their claims in one way or another. This is known as the question of whether P = NP.

No one has been able to determine conclusively whether the NP-complete problem can in fact be solved in polynomial time, making this one of the unsolved math problems. Clay Mathematics Institute offers a US $ 1 million reward to anyone with formal proof that P = NP or P? The NP.

The Cook-Levin theorem states that the problem of Boolean satisfaction is NP-complete (simpler, but still very technical proof is available). In 1972, Richard Karp proved that several other problems were also NP-complete (see 21 NP-complete Karp issue); thus there is the NP-class solve the problem (besides the Boolean satisfaction issue). Because of the original results, thousands of other problems have been proven NP-complete with a reduction from other previously proven NP-complete issues; many of these problems were collected in 1976 book Garey and Johnson Computers and Inability: A Guide to Theory of Completeness-NP . For more details refer to Introduction to Design and Algorithmic Analysis by Anany Levitin.

NP-Complete Problems CSC 331: Algorithm Analysis NP-Complete ...
src: slideplayer.com


NP-complete problem

An interesting example is the issue of graphic isomorphism, the problem of graph theory to determine whether the graph isomorphism is between two graphs. Two isomorphic charts if one can be changed to another simply by changing the name of the vertex. Consider these two issues:

  • Isomorphic graphs: Is graphic G 1 isomorphic to graph G 2 ?
  • Subgraph Isomorphism: Is graphic G 1 isomorphic to the subgraph of graph G 2 ?

Problem Isomorphism Subgraph is NP-complete. Graphic isomorphism problem is suspected not to be in P or NP-complete, though at NP. This is an example of a problem that is considered hard , but not considered NP-complete.

The easiest way to prove that some new problem is NP-complete is first to prove that it is NP, and then to reduce some known NP-complete problem. Therefore, it is useful to know various NP-complete problems. The list below contains some well known NP-complete issues when declared as a decision issue.

To the right is a diagram of some of the problems and reduction is usually used to prove the completeness of their NP. In this diagram, the arrow from one problem to another indicates the direction of subtraction. Note that this diagram is misleading as a description of the mathematical relationship between these problems, because there is a polynomial-time reduction between two NP-complete problems; but this shows where demonstrating this polynomial-time reduction is very easy.

Often there is only a small difference between the problems in P and the NP-complete problem. For example, a 3-satisfiability problem, a limitation of boolean satisfaction issues, remains NP-incomplete, while a slightly more restricted 2-satisfiability problem is in P (specifically, NL-complete), and max is slightly more common. 2-sat. The problem is again NP-complete. Determine if the graph can be colored with 2 colors in P, but with 3 colors is NP-complete, even when limited to planar graphs. Determining whether the graph is cycle or bipartite is very easy (in L), but finding the maximum bipartite or maximum cycle subgraph is NP-complete. The solution of the knapsack problem in a fixed percentage of the optimal solution can be calculated in polynomial time, but finding the optimal solution is NP-complete.

Reductions and NP-Complete Proofs (CS) - YouTube
src: i.ytimg.com


Troubleshoot NP-complete

Currently, all known algorithms for NP-complete problems require superpolynomial time in input size, and it is not known whether there is a faster algorithm.

The following techniques can be applied to solve computing problems in general, and often lead to much faster algorithms:

  • Approach: Instead of finding the optimal solution, finding the most solution is a factor of the optimal.
  • Randomization: Use randomness to get faster running time, and let algorithms fail with some small possibilities. Note: The Monte Carlo method is not an efficient example of algorithms in this particular sense, although an evolutionary approach like the Genetic algorithm might be.
  • Restrictions: By limiting the input structure (for example, for a planar graph), a faster algorithm is usually possible.
  • Parameterization: Often there is a fast algorithm if certain parameters of the input have been fixed.
  • Heuristics: Algorithms that work "pretty well" in most cases, but there's no evidence that both are always fast and always produce good results. Metaheuristic approaches are often used.

Salah satu contoh dari algoritma heuristik adalah suboptimal                                    O            (            n            log                       n           )                           {\ displaystyle \ scriptstyle O (n \ log n)}    algoritma pewarna serakah yang digunakan untuk mewarnai grafik selama fase alokasi register dari beberapa kompiler, teknik yang disebut graph-coloring global register allocation. Setiap titik adalah suatu variabel, ujung-ujungnya ditarik antara variabel yang sedang digunakan pada saat yang sama, dan warna menunjukkan daftar yang ditetapkan untuk setiap variabel. Karena kebanyakan mesin RISC memiliki jumlah register umum yang cukup besar, bahkan pendekatan heuristik efektif untuk aplikasi ini.

NP-Complete Problems CSC 331: Algorithm Analysis NP-Complete ...
src: slideplayer.com


Kelengkapan dalam berbagai jenis reduksi

In the NP-complete definition given above, the term reduction is used in a technical sense of the many-polynomial-time deductions.

Jenis lain dari reduksi adalah pengurangan Turing polinomial-waktu. Masalah                                    X                           {\ displaystyle \ scriptstyle X}    adalah waktu polinomial Turing-reducible menjadi masalah                                    Y                           {\ displaystyle \ scriptstyle Y}    jika, diberi subrutin yang menyelesaikan                                    Y                           {\ displaystyle \ scriptstyle Y}    dalam waktu polinomial, seseorang dapat menulis program yang memanggil subrutin ini dan menyelesaikan                                    X                           {\ displaystyle \ scriptstyle X}    dalam waktu polinomial. Ini kontras dengan banyak-satu reducibility, yang memiliki pembatasan bahwa program hanya dapat memanggil subroutine sekali, dan nilai kembalian dari subrutin harus menjadi nilai kembalian dari program.

If somebody defines an analog to NP-complete with Turing reduction instead of much-one reduction, the set of resulting problems will not be smaller than NP-complete; it's an open question whether it will be bigger.

Another type of reduction that is also often used to determine the completeness of NP is the reduction of multiple-space-logarithmic logic which is a multi-one reduction that can be calculated only by the amount of logarithmic space. Since any calculations that can be performed in a logarithmic space can also be done in polynomial time, then if there is a reduction of many one-logarithmic spaces then there is also a multiplication of many-one polynomial-time. This type of reduction is more refined than the more general multiple-time polynomial reductions and allows us to differentiate more classes like P-complete. Whether under these types of reductions the definition of NP-complete change is still an open issue. All NP-complete problems currently known are NP-complete under the reduction of log space. All NP-complete problems that are currently known remain NP-complete even under a much weaker reduction. However, it is known that the reduction of AC 0 determines a very small class of polynomial-time reductions.

ISRO MAY 2017 Q10. The problems 3 SAT and 2 SAT are - YouTube
src: i.ytimg.com


Naming

According to Donald Knuth, the name "NP-complete" was popularized by Alfred Aho, John Hopcroft and Jeffrey Ullman in their famous textbook "The Design and Analysis of Computer Algorithms". He reported that they introduced changes in kitchen evidence for books (from "polynomially-complete"), in accordance with the results of a poll he conducted from the theoretical computer science community. Other suggestions made in the poll include "Herculean", "great", Steiglitz "boiled hard" in honor of Cook, and the abbreviation Shen Lin "PET", meaning "possibility of exponential time", but depending on which direction P versus NP problems go, can stand for "exponential time can be proved" or "exponential time before".

NP-Completeness (2) NP-Completeness Graphs 4/13/2018 5:22 AM ...
src: slideplayer.com


Common misconceptions

The following misconceptions are common.

  • "The NP-complete problem is the most difficult problem to know." Due to NP-complete problem in NP, their running time is most exponential. However, some problems can be proved to require more time, such as Presburger arithmetic.
  • "The NP-complete problem is difficult because there are so many different solutions." On the one hand, there are many problems that have the same solution space as large, but can be solved in time polynomials (eg minimum range trees). On the other hand, there is a NP-problem with at most one NP-hard solution under polynomial-time reduction (see Valiant-Vazirani theorem).
  • "Troubleshooting NP-complete requires exponential time." Firstly, this will imply P? NP, which is still an unsolved question. Furthermore, some NP-complete problems actually have algorithms that run in superpolynomial, but subexpectional times like O (2 ? n n ). For example, the independent sets and set domination problems are NP-complete when constrained for planar graphs, but can be resolved in sub-forward time on the planar graph using the planar separator theorem.
  • "All examples of NP-complete problems are difficult." Often some examples, or even most examples, may be easily solved in polynomial time. However, except for P = NP, any time-polynomial algorithm must be asymptotically wrong on more than many inputs exponentially of a certain size.
  • "If P = NP, all cryptographic ciphers can be corrupted." The polynomial-time problem can be very difficult to solve in practice if the polynomial or constants level is large enough. For example, passwords with fixed key lengths, such as Advanced Encryption Standard, can all be solved in a constant time (and therefore already in P), even with today's constant technology beyond the age of the universe.

NP-Completeness (2) NP-Completeness Graphs 4/13/2018 5:22 AM ...
src: slideplayer.com


Properties

Looking at decision decisions as a formal language in some fixed coding, the NPC set of all NP-complete issues is not closed below:

  • unification
  • intersection
  • merge
  • Kleene stars

It is not known whether the NPC is closed under complementation, since NPC = co-NPC if and only if NP = co-NP, and whether NP = co-NP is an open question.

NP-Completeness (2) NP-Completeness Graphs 4/13/2018 5:22 AM ...
src: slideplayer.com


See also

  • Almost complete
  • Gadgets (computer science)
  • Ladner Theorem
  • List of NP-complete issues
  • NP-hard
  • P = NP problem
  • Very complete NP

NP-Completeness NP-Completeness Graphs 5/7/ :49 PM x x x x x x x ...
src: slideplayer.com


References

Quote

Source


Richard Anderson Lecture 26 NP-Completeness - ppt download
src: slideplayer.com


Further reading

Source of the article : Wikipedia

Comments
0 Comments