Minggu, 24 Juni 2018

Sponsored Links

The P versus NP Problem (Part 1) - YouTube
src: i.ytimg.com

The problem P versus NP is a major unsolved problem in computer science. It asks if any problem whose solution can be quickly verified (technically, verified in polynomial time) can also be resolved quickly (again, in polynomial time).

The underlying issues were first discussed in the 1950s, in letters from John Forbes Nash Jr. to the National Security Agency, and from Kurt GÃÆ'¶del to John von Neumann. The exact statement of the problem of P versus NP was introduced in 1971 by Stephen Cook in his seminal paper "The complexity of the theorem that proves the procedure" (and independently by Leonid Levin in 1973) and is considered by many to be the most important open matter in the field. This is one of the seven Millennium Gift Issues selected by the Clay Mathematics Institute to bring the US $ 1,000,000 prize for the first true solution.

The informal term quickly , used above, means an algorithm that accomplishes a task that runs in polynomial time, so the time to complete the task varies as a polynomial function on the input size to the algorithm (as opposed to, say, exponential time ). The general class of questions that some algorithms can provide in polynomial time is called "class P " or just " P ". For some questions, there is no known way to find answers quickly, but if someone is given information that indicates the answer, it is possible to verify the answer quickly. The class of questions whose answers can be verified in polynomial time is called NP , which means "non-deterministic polynomial time".

Consider Sudoku, an example of a problem that is easily verified, but the answer may be difficult to quantify. With the partially filled network of Sudoku, of any size, is there at least one legal solution? The proposed solution is easy to verify, and the time to check the solution grows slowly (polynomial) when the grid gets bigger. However, all known algorithms for finding solutions take, for a difficult example, time that grows exponentially when the grid gets bigger. So Sudoku is on NP (quick to check) but it does not seem to exist in P (quickly solved). Thousands of other problems seem similar, quick to check but slow to solve. Researchers have shown that a quick solution to one of these problems can be used to build a quick solution for all the others, a property called NP -completeness. The decade of search has not produced a quick solution to these problems, so most scientists suspect that none of these problems can be solved quickly. This, however, was never proven.

The answer to the P Ã, = Ã, NP question will determine whether the problem that can be verified in polynomial time, such as Sudoku, can also be resolved in polynomial time. If it turns out P Ã,? NP , that means there is a problem in NP that is more difficult to compute than verify: they can not be resolved in polynomial time, but the answer can be verified in polynomial time.

In addition to being an important issue in computational theory, good evidence of the way will have profound implications for mathematics, cryptography, algorithmic research, artificial intelligence, game theory, multimedia processing, philosophy, economics and many other fields.


Video P versus NP problem



Histori

Although the P versus NP problem was formally defined in 1971, there were prior problems involving problems, evidentiary difficulties, and potential consequences. In 1955, mathematician John Nash wrote a letter to the NSA, where he speculated that a fairly complex code breakdown would require an exponential time in key lengths. If proven (and Nash is skeptical accordingly) this would imply what we would today call P Ã,? Ã, NP , since the proposed key can be easily verified in polynomial time. Another mention of the underlying problem occurred in a 1956 letter written by Kurt GÃÆ'¶del to John von Neumann. GÃÆ'¶del asks if proving the theorem (now known as co-NP-complete) can be completed in quadratic or linear time, and shows one of the most important consequences - that if so, then the discovery of mathematical proof can be automatic.

Maps P versus NP problem



Context

The relationship between the complexity classes P and NP is studied in the theory of computational complexity, part of computational theory related to the resources required during computation to solve a given problem. The most common resources are time (how many steps are needed to solve the problem) and space (how much memory is needed to solve the problem).

In the analysis, the computer model of which time should be analyzed is required. Usually the model assumes that the computer is deterministic (given the current state of the computer and any input, there is only one possible action computer might perform) and sequential (it performs a single action after another).

In this theory, the P class consists of all decision problems (defined below) that can be solved on a deterministic sequential machine in the amount of time that is polynomial in input size; the NP class consists of all decision issues whose positive solutions can be verified in polynomial time given exact, or equivalent, information whose solutions can be found in polynomial time on a non-deterministic machine. Obviously, P ? NP . Arguably the greatest open question in theoretical computer science concerns the relationship between two classes:

Is P the same as NP ?

In a 2002 poll of 100 researchers, 61 believed that no answer, 9 believed that the answer was yes, and 22 was not sure; 8 believes the question may be independent of the accepted axioms currently and therefore impossible to prove or not to prove.

In 2012, 10 years later, the same poll is repeated. The number of researchers who answered was 151: 126 (83%) believed the answer was no, 12 (9%) believed the answer was yes, 5 (3%) believed the question might be independent of the accepted axioms and therefore impossible to prove or disprove , 8 (5%) say either do not know or do not care or do not want the answer to be yes or problem to be solved.

The P versus NP Problem (Part 4) - YouTube
src: i.ytimg.com


NP-completeness

To attack the P = NP , the NP -completeness is very useful. NP -a complete problem is a set of problems that each of the other NP issues can be reduced in polynomial time, and solutions that can still be verified in polynomial time. This means that any NP issue can be turned into a NP issue-any of the tools. Informally, the NP -complete problem is a NP problem that is at least as "difficult" like any other problem in NP .

NP - a tough problem is a problem that is as strong as NP , that is, all NP issues can be reduced (in polynomial time) to them. NP -not difficult to find in NP , i.e., they do not need to have a verifiable solution in polynomial time.

For example, Boolean satisfaction issues are NP -complete by the Cook-Levin theorem, so every example of any example can be mechanically changed to an instance of Boolean satisfaction problems in polynomial time. The problem of Boolean satisfaction is one of the many problems like NP . If there is a NP problem in P then it will follow P = NP . However, many important issues have been shown as NP -complete, and there is no fast algorithm for one that is known.

By definition alone it is not clear that there are problems that NP exists; however, the complicated and artificial problems of NP can be formulated as follows: given a description of the Turing M machine that is guaranteed to stop in polynomial time, is there an input of polynomial size to be received by M? It's in NP because (given input), it's easy to check whether M accepts inputs by simulating M; this NP -komplete because the verifier for each specific instance of the problem in NP can be encoded as a polynomial-time machine M that takes the solution to be verified as input. Then the question of whether the instance is a yes or no instance is determined by whether there is a valid input.

The first natural problem that proved NP -complete is a Boolean satisfaction issue. As mentioned above, this is the Cook-Levin theorem; the proof that satisfiability is NP -complete contains technical details about the Turing machine because they correspond to the NP definition. However, once the problem is proven NP -incomplete, the proof by reduction provides a simpler way to show that many other problems are also NP -incomplete, including the Sudoku discussed earlier. In this case, the evidence shows that the Sudoku solution in polynomial time, can also be used to solve the Latin box in polynomial time. This in turn provides a solution to the problem of partitioning tri-partite graphs into triangles, which can then be used to find solutions for 3-sat, which then provide solutions to common boolean satisfaction. Thus the polynomial time solution for Sudoku leads, by a series of mechanical transformations, to a satisfactory polynomial time solution, which in turn can be used to solve other NP-complete problems in polynomial time. Using transformations like this, large classes of seemingly unrelated problems can all be reduced to each other, and in the sense of "the same problem".

The P versus NP Problem (Part 7) - YouTube
src: i.ytimg.com


A more difficult issue

Although it is not known whether P = NP , issues outside P are known. A number of concise problems (problems that do not operate on the normal input, but on computational descriptions of inputs) are known as EXPTIME -complete. Because it can be shown that P ? EXPTIME , this issue is outside P , so it takes more than polynomial time. In fact, at the time of the hierarchical theorem, they can not be solved significantly less than the exponential time. Examples include finding the perfect strategy for chess (on board N ÃÆ'â € " N ) and some other board games.

The problem of deciding the truth of the statement in the Presburger arithmetic takes more time. Fischer and Rabin proved in 1974 that any algorithm that decides the truth of a Presburger statement with a length of n has at least runtime                         2               ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ,    Â 2                       ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂï mi½ <Â>                n        ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ,         Â  <Â>                                 {\ displaystyle 2 ^ {2 ^ {cn}}}   for some constants c . Therefore, known problems require more than exponential running time. Even more difficult is the problem that can not be decided, such as the problem of halting. They can not be completely resolved by any algorithm, in that for any given algorithm there is at least one input that the algorithm will not produce the correct answer; it will produce wrong answers, finish without giving conclusive answers, or otherwise run forever without producing an answer at all.

It is also possible to consider questions other than decision issues. One such class, which consists of counting problems, is called #P : while the problem NP asks "Is there a solution?", As appropriate #P problem asking "How many solutions are there?" Obviously, the #P problem should be at least as hard as the NP problem, since the solution count immediately notifies if at least one solution exists, if the count is greater than zero. Surprisingly, some #P issues are believed to be difficult according to an easy problem (eg linear-time) P . For this problem, it is very easy to know if the solution exists, but it is considered very difficult to say how much. Many of these problems are # P-complete , and therefore among the most difficult issues in #P , since polynomial time solutions to one of them will allow polynomial time solutions for all other #P issues.

The P versus NP Problem (Part 9) - YouTube
src: i.ytimg.com


Issues in NP are not known on P or NP-complete

Is it shown by Ladner that if P ? NP then there is a problem in NP which is not in both P and NP -completion. Such a problem is called NP -integrate the issue. Graphic isomorphism problems, discrete logarithmic problems and integer factorization problems are examples of problems believed to be NP -intermediate. They are some of the very few NP unknown unknowns in P or being complete NP .

The problem of graph isomorphism is a computational problem to determine whether two finite graphs are isomorphic. An important problem that has not been resolved in the theory of complexity is whether the graph isomorphism problem in P , NP -komplete, or NP -intermediate. The answer is unknown, but it is believed that the problem is at least not NP -komplete. If the isomorphism graph is NP -komplete, the polynomial time hierarchy collapses to the second level. Because it is widely believed that the polynomial hierarchy does not collapse to a finite degree, it is believed that the graph isomorphism is not NP -komplete. The best algorithm for this problem, since LÃÆ'¡szlÃÆ'³ Babai and Eugene Luks, has run time 2 O (? n log n ) for the graph with the n node.

The problem of integrating factorization is a computational problem for determining prime factorization of a given integer. Taken as a decision issue, it is a matter of deciding whether the input has a factor less than k . No efficient integer factorization algorithm is known, and this fact forms the basis of some modern cryptographic systems, such as the RSA algorithm. The integer factorization problem is in NP and in co-NP (and even in UP and co-UP ). If the problem is NP -complete, the polynomial time hierarchy will collapse to the first level (ie NP = co-NP ). The most well known algorithm for number factorization is the common field number filter, which takes the expected time

              O                   (                      exp     Â                       Â (                   ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ...
           ·              Â                                                                                                                 64                           n                                                   9                                      ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ,              Â                            logs                                        (                     2                   )      ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ, <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<.     ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ,                                                      1                     3                 <      ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ,    ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ,     ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ...
           ·              Â                             logs                                        (                       n                          logs                                        (                     2                   )                   )      ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ, <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<.     ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ,                                                      2                     3                 <      ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ,    ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ,        ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ,                  )                      Â
          )        Â
         Â
    {\ displaystyle O \ left {\ exp \ left {\ left {{tfrac {64n} {9}} \ log (2) \ right) ^ {\ frac {1} {3}} \ left (\ log (n \ log (2)) \ right) ^ {\ frac {2} {3}} \ right) \ right)}  Â

to calculate the integer n -bit. However, the best known quantum algorithm for this problem, Shor's algorithm, runs in polynomial time, although this does not indicate where the problem lies with respect to the class of non-quantum complexity.

Algorithms: 2.6 P, NP and NP complete - YouTube
src: i.ytimg.com


Does P mean "easy"?

All of the above discussions have assumed that P means "easy" and "not in P " means "loud", an assumption known as Cobham's thesis >. This is a common and fairly accurate assumption in the theory of complexity; However, there are several objections.

First, it is not always true in practice. A theoretical polynomial algorithm may have a large constant or exponent factor making it impractical. On the other hand, even if the problem is shown to be NP -complete, and even if P ? NP , there may still be an effective approach to resolving problems in practice. There are algorithms for many NP -problems, such as backpack problems, mobile salespeople and Boolean satisfaction issues, that can break the optimization of many real-world examples in a reasonable time. The empirical empirical case complexity (time vs. problem size) of the algorithm can be very low. An example is the simplex algorithm in linear programming, which works very well in practice; Despite having the worst case exponential time complexity, it runs on par with the best known polynomial-time algorithm.

Secondly, there is a type of calculation that does not fit the Turing machine model where P and NP are defined, such as quantum computations and random algorithms.

What exactly went wrong in Blum's proof that N is unequal NP? â€
src: www.andreasleiser.com


Reason to trust P? NP

According to a poll, most computer scientists believe that P Ã,? Ã, NP . The main reason for this belief is that after several decades of studying these issues no one can find a polynomial-time algorithm for more than 3000 important known issues NP (see List NP -problems). This algorithm was searched long before the concept of NP -completeness was even defined (Karp's 21 NP -comprehensive problem, among the first discovered, all known problems that already existed in their time were shown to NP - complete). Furthermore, the P = NP result will imply many other surprising results currently believed to be false, such as NP = co -NP and P = PH .

It also intuitively argues that there is a problem that is difficult to solve but an easy solution to verify according to real-world experience.

If P = NP , then the world will be a very different place than we would normally expect. There will be no special value in "creative jumps," there is no fundamental gap between solving problems and recognizing solutions once they are discovered.

On the other hand, some researchers believe that there is excessive confidence in trusting P ? NP and the researcher should explore proof P = NP as well. For example, in 2002 this statement was made:

The main arguments in favor of P Ã,? NP is a total lack of fundamental progress in the field of complete search. This, in my opinion, is a very weak argument. The space algorithm is huge and we are just at the beginning of exploration. [...] Fermat's Last Resolution Theorem also shows that a very simple question can be solved only by a very profound theory.

Being attached to speculation is not a good guide to research planning. Someone should always try both ways from every problem. Prejudice has caused famous mathematicians to fail to solve a well-known problem whose solution is contrary to their expectations, even though they have developed all the necessary methods.


BQP - YouTube
src: i.ytimg.com


Consequence of solution

One reason the problem attracts so much attention is the consequence of the answer. One of the directions of resolution will advance the theory remarkably, and may also have enormous practical consequences.

P = NP

A proof that P = NP can have astonishing practical consequences if evidence points to an efficient method for solving some important issues in NP . It is also possible that a proof will not lead directly to an efficient method, perhaps if the evidence is not constructive, or the size of the bonding polynomial is too large to be efficient in practice. The consequences, both positive and negative, arise because various NP -the overall problem is fundamental in many areas.

Cryptography, for example, depends on certain difficult issues. A constructive and efficient solution to a NP -complete problem like 3-SAT will break most existing cryptosystems including:

  • Implementation of existing public key cryptography, the foundation for many modern security applications such as secure financial transactions over the Internet.
  • Symmetric cipher such as AES or 3DES, used for data communication encryption.
  • Decrypting due to the problem of finding the initial image blocking a certain value should be difficult to use, and ideally should require exponential time. However, if P = NP, then look for the M-image can be done in polynomial time, through reduction to SAT.

This needs to be modified or replaced by a secure in-situ information-not secure solution based on P-NP equality.

On the other hand, there are enormous positive consequences that will follow from the decomposition of many problems that today are difficult to solve mathematically. For example, many of the problems in operations research are NP -complete, like some types of integer programming and mobile salesman problems. An efficient solution to this problem will have enormous implications for logistics. Many other important issues, such as some problems in protein structure prediction, also NP -complete; if this problem can be solved efficiently, it can spur many advances in life sciences and biotechnology.

But such a change may be significantly pale in comparison to the revolution, an efficient method for solving complete problems will cause in mathematics itself. GÃÆ'¶del, in his early thought on computational complexity, notes that a mechanical method that can solve any problem will revolutionize mathematics:

If there is a machine with? (N) ~ k? n (or even ~ k? n 2 ), this will have very important consequences. That is, it obviously means that apart from the ugliness of the Entscheidungsproblem, the mental work of a mathematician on the Yes-or-No question can be completely replaced by the machine. After all, a person just has to pick an original number n so large that when the machine does not deliver results, it does not make sense to think more about the problem.

Demikian pula, kata Stephen Cook

... it will alter mathematics by allowing computers to find formal proof of theorems that have reasonable proof of length, since formal evidence can easily be recognized in polynomial time. Examples of problems may include all CMI reward issues.

Researchers of mathematicians spend their careers trying to prove theorems, and some evidence has taken decades or even centuries to find after the problem has been stated - for example, Fermat's Last Theorem took more than three centuries to prove. A method that is guaranteed to find evidence of a theorem, if one has a "reasonable" measure, will essentially end this struggle.

Donald Knuth has stated that he has believed that P = NP, but is protected about the impact of probable evidence:

[...] I do not believe that equality of P = NP will prove useful even if proven, because such evidence will almost certainly not be constructive.

P? NP

The evidence indicates that P ? NP will lack the practical computing benefits of the P = NP proof, but will still represent a very significant advance in the theory of computational complexity and provide guidance for future research. This will allow one to formally point out that many common problems can not be solved efficiently, so the attention of the researchers can be focused on partial solutions or solutions to other problems. Due to widespread belief in P ? NP , much of the focus of this research has taken place.

Also P ? NP still opens the average case complexity of difficult issues in NP . For example, it is possible that SAT needs exponential time in the worst case, but almost all randomly selected samples can be efficiently solved. Russell Impagliazzo has described five hypothetical "worlds" that can result from possible solutions to the problem of average case complexity. This ranges from "Algorithmica", where P = NP and problems such as SAT can be resolved efficiently in all instances, to "Cryptomania", where P ? NP and generating examples of difficult problems outside P is easy, with three intermediate possibilities reflecting different possible difficulties distributions over the example problem NP-hard . "World" where P ? NP but all the problems in NP can be worked out in the average case called "Heuristica" on paper. A Princeton University workshop in 2009 studied the status of five worlds.

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


Result of proof difficulty

Although the P = NP issue itself remains open despite the multimillion dollar prize and a large amount of dedicated research, the attempt to solve the problem has led to several new techniques. Specifically, some of the most useful studies related to the problem P = NP have shown that the existing evidence techniques are not strong enough to answer the question, thus indicating that a new technical approach is required.

As additional evidence for the difficulty of the problem, essentially all known proof techniques in the computational theory of complexity fall into one of the following classifications, each of which is known to be insufficient to prove that P ? NP :

This barrier is another reason why a well-supplied NP is useful: if a time-polynomial algorithm can be shown for NP -complete problems, it will break = NP issues in a way not excluded by the above result.

This obstacle also causes some computer scientists to argue that the problem P versus NP may not depend on a standard axiom system like ZFC (can not be proven or denied in it). Interpretation of independent results can be no existing polynomial-time algorithm for the problem NP -komplete, and such evidence can not be constructed in (eg) ZFC, or that the polynomial-time algorithm for Problem number NP may exist, but it is not possible to prove in ZFC that the algorithm is correct. However, if it can be demonstrated, using a technique of a type that is currently known to be applicable, that the problem can not be decided even with far weaker assumptions extending Peano (PA) axiom to arithmetic integers, there will always be almost- polynomial algorithms -time for each issue in NP . Therefore, if one believes (as most complexity theorists do) that not all problems in NP have an efficient algorithm, it follows that the evidence of independence using such techniques is not possible. Additionally, this result implies that proving the independence of PA or ZFC using a known technique is currently no easier than proving an efficient algorithm for all problems in NP .

Qué es eso del problema P versus NP? - YouTube
src: i.ytimg.com


Claimed solution

While the P versus NP issue is generally considered unsolved, many amateur researchers and some professional researchers have claimed the solution. Gerhard J. Woeginger has a comprehensive list. By 2018, this list contains 62 recognized proof P = NP , 50 of P Ã,? NP , 2 proof of problem can not be proven, and one proof that it can not be decided. Evidence of the August 2010 claim that P ? NP , by Vinay Deolalikar, a researcher at HP Labs, received great attention from the Internet and paid attention after being initially described as " looking [ing] to a relatively serious effort" by two leading specialists. The evidence has been publicly reviewed by academics, and Neil Immerman, an expert on the ground, has pointed out two errors that may be fatal in proof. In September 2010, Deolalikar reportedly worked on a detailed expansion of his business evidence. However, the opinions expressed by some of the leading theoretical computer scientists suggest that the evidence is tried incorrectly or a significant advance in understanding the problem. This assessment prompted May 2013 The New Yorker article to call the "completely discredited" evidence attempt.

On Public Key Cryptography, the 51% Attack, and the Impossibility ...
src: shroud-physics.com


Logical characterization

P = NP problems can be restated in case certain classes are declared logical reports, as a result of work in descriptive complexity.

Consider all languages ​​of finite structure with fixed signatures including linear sequence relationships. Then, all such languages ​​in P can be expressed in first-order logic with the addition of a suitable fixed-point combiner. Effectively, this, in combination with the order, allows the definition of a recursive function. As long as the signature contains at least one predicate or function other than a distinguishable sequence relationship, so that the amount of space taken to store such finite structures is actually a large number in the number of elements in the structure, this precisely characterizes P .

Similarly, NP is a collection of languages ​​that can be expressed in the logic of the second existential order - that is, second-order logic is restricted to exclude the universal quantification of relationships, functions, and subsets. The language in the polynomial hierarchy, PH , corresponds to all second-order logic. Thus, the question "is P an appropriate subset of NP " can be reformulated as "is an existential second-order logic capable of describing language (structures that are linearly arranged and limited with nontrivial signatures) that first-order logic with a fixed point can at least be? ". The word "existential" can even be derived from the previous characterization, since P = NP if and only if P = PH (as before will specify that NP = co-NP , which in turn implies that NP = PH ).

P vs NP - Solved. P = CP - YouTube
src: i.ytimg.com


time-polynomial algorithm

There is no algorithm for any NP known problems running in polynomial time. However, there is a known algorithm for NP -problems with a property that if P = NP , then the algorithm runs in polynomial time at the receipt of an example though with a very large constellation, makes the algorithm impractical). However, this algorithm does not qualify as a polynomial time because their running time in rejecting the instance is not polynomial. The following algorithm, because Levin (without quotation), is an example below. This correctly accepts the NP -full SUBSET-SUM language. It runs in polynomial time at the input in SUBSET-SUM if and only if P = NP :

 //Algorithm that receives  NP  -full SUBSET-SUM language.   //   This is a polynomial algorithm if and only if  P  =  NP .   //  //"Polynomial-time" means restoring "yes" in polynomial time when   //the answer should be "yes", and runs forever when it is "no".   //  //Input: S = a set of unlimited integers   //Output: "yes" if any part of S adds up to 0.   //Run forever without output instead.   //Note: "Program number P" is a program obtained by   //write integer P in binary, then   //consider the bit string to be   //program. Every program might be   //is generated this way, though most do nothing   //because of syntax errors.   FOR N = 1...?  FOR P = 1... N  Â Â Â Â Run the program number P for step N with input S  Â Â Â Â IF program releases different integers list  Â Â Â Â Â Â Â AND integers all in S  Â Â Â Â Â Â AND number of integers to 0  Â Â Â Â THEN  Â Â Â Â Â Â OUTPUT "yes" and HALT  

If, and only if, P = NP , then this is a polynomial-time algorithm that receives a NP -faster language. "Receiving" means giving a "yes" answer in polynomial time, but being left forever when the answer is "no" (also known as semi-algorithm ).

This algorithm is not very practical, even if P = NP . If the shortest program that can complete SUBSET-SUM in polynomial time is b long bit, the above algorithm will try at least 2 b -1 other program first.

Limits of Computation + Course Recap - ppt download
src: slideplayer.com


Formal definition

P and NP

Conceptually speaking, the decision problem is a problem that takes as input some strings w over the alphabet ?, and outputs "yes" or "no". If there is an algorithm (eg Turing machine, or computer program with unlimited memory) that can generate the correct answer for each input string with n the most cn k steps, where k and c are independent constants of the input string, then we say that the problem can be solved in polynomial time > and we placed it in P class. Formally, P is defined as the set of all languages ​​that can be decided by a deterministic time-polynomial Turing machine. It is,

                        P                 =        {          L         :          L         =          L        (    Â     M        )                   for some deterministic polynomial-time Turing machines            Â     M        }               {\ displaystyle \ mathbf {P} = \ {L: L = L (M) {\ text {for some polynomial-time deterministic Turing machines}} \}}  Â

dimana

                        L          (          M         )          =          {          w         ?                    ?                         *                             :          M                     menerima                   w         }                  {\ displaystyle L (M) = \ {w \ in \ Sigma ^ {*}: M {\ text {accepts}} w \}}   

dan mesin Turing polinomial-deterministik-waktu adalah mesin Turing deterministik M yang memenuhi dua kondisi berikut:

  1. M berhenti pada semua input w dan
  2. ada                         k         ?          N                  {\ displaystyle k \ in N}    sehingga                                    T                         M                              (          n         )         ?          O          (                     n                         k                             )                  {\ displaystyle T_ {M} (n) \ dalam O (n ^ {k})}    , di mana O mengacu pada notasi O besar dan
                                   T                         M                              (          n         )          =          max          {                     t                         M                              (          w         )         :          w         ?                    ?                         *                             ,                     |                   w                     |                   =          n         }                  {\ displaystyle T_ {M} (n) = \ max \ {t_ {M} (w): w \ in \ Sigma ^ {*}, | w | = n \}}   
                                   t                         M                              (          w         )          =                     jumlah langkah                   M                     dibutuhkan untuk menghentikan input                   w         .                  {\ displaystyle t_ {M} (w) = {\ teks {jumlah langkah}} M {\ text {dibutuhkan untuk berhenti pada input}} w.}   

NP can be defined the same using a nondeterministic Turing machine (traditional way). However, the modern approach to defining NP is to use the certificate and verifier concepts. Formally, NP is defined as a collection of languages ​​over a finite alphabet that has verifiers running in polynomial time, where the idea of ​​"verifier" is defined as follows.

Let L be a language above a limited alphabet,?

The Turing machine that L R is called verifier for L and y like that ( x , y )? R is called the membership certificate x at L .

In general, the verifier does not have to be a polynomial time. However, for L to be in NP , there must be a verifier running in polynomial time.

Example

Membiarkan

                                   C            O            M            P            O            S            Saya            T            E                   =                     {                         x             ?                             N                           |              x              =              p              q                             untuk bilangan bulat                           p             ,              q              & gt;              1                      }                           {\ displaystyle \ mathrm {COMPOSITE} = \ kiri \ {x \ dalam \ mathbb {N} \ mid x = pq {\ text {for integers}} p, q & gt; 1 \ right \}}   
                        R          =                     {                         (              x             ,              y             )             ?                             N                           ÃÆ' -                             N                           |              1              & lt;              y              <=                                              x                                                         dan                           y                             membagi                           x                      }                  .                  {\ displaystyle R = \ left \ {(x, y) \ in \ mathbb {N} \ times \ mathbb {N} \ mid 1 & lt; y \ leq {\ sqrt {x}} {\ text {and}} y {\ text {divides}} x \ right \}.}   

Obviously, the question whether given x is composite is equivalent to the question whether x is a member of COMPOSITE. Can it be shown that COMPOSITE? NP by verifying that it meets the above definition (if we identify the original number with their binary representation).

COMPOSITE is also in P .

NP-completeness

There are many equal ways to describe a NP tool.

Let L be a language above a limited alphabet?

L adalah NP -lengkap jika, dan hanya jika, dua kondisi berikut dipenuhi:

  1. L ? NP ; dan
  2. sembarang L? dalam NP adalah polinomial-waktu yang dapat direduksi menjadi L (ditulis sebagai                                    L           ?                              <=                         p                              L                  {\ displaystyle L '\ leq _ {p} L}    ), di mana                                    L           ?                              <=                         p                              L                  {\ displaystyle L '\ leq _ {p} L}    jika, dan hanya jika, dua kondisi berikut dipenuhi:
    1. Ada f Â:? * ->? * seperti itu untuk semua w di? * yang kita miliki:                         (          w         ?                     L           ?                   <=>          f          (          w         )         ?          L         )                  {\ displaystyle (w \ in L '\ Leftrightarrow f (w) \ in L)}    ; dan
    2. ada mesin Turing polinomial-waktu yang berhenti dengan f ( w ) pada rekamannya pada input apa pun w .

Or, if L ? NP , and there is another problem NP -complete that can be reduced polynomial time to L , then L is NP - complete. This is a common way to prove some new issues are NP -complete.


Popular culture

Source of the article : Wikipedia

Comments
0 Comments