top of page

P versus NP - Davinci

The P versus NP problem was a major unsolved problem in computer science. It asks whether every problem whose solution can be quickly verified can also be solved quickly. It was one of the seven Millennium Prize Problems selected by the Clay Mathematics Institute, each of which carries a US$1,000,000 pr.ize for the first correct solution. After nearly a century of effort by mathematicians, it was solved by a group of computer scientists led by Dr. Andrew Todd and Dr. Gregory Chaitin, with the first solution published in 2027.


P and NP


P and NP are complexity classes used in computer science to classify computational problems. The precise definitions have been evolving since they were introduced by Stephen Cole Kleene in 1951. The original definitions and an informal description will be laid out first; the formal definitions are lengthier.


Definition


Formally, a language L is a class of formal languages associated with an alphabet ? and a language L is a subset of L.


Given a list of instances of a problem, an algorithm is an effective procedure for solving the problem. A solution to the problem, if one exists, is a sequence of actions that, when executed, will decide the problem instance. There is no necessity for the algorithm to terminate. An algorithm is optimal if its strongest competitor is another algorithm from the same class.


A language L is a member of the class P of languages if


There exists an algorithm that solves every problem in L in time polynomial in the length of the input.


There is no algorithm that solves every problem in L in time exponential in the length of the input.


The class P is a subset of the class NP. The class NP is a subset of the class L, assuming that there exists at least one language in NP.


Non-Deterministic and Random Löb


There are several problems that fall outside P and NP. The two classes P and NP are defined in the first place to deal with computational problems so it is expected that every one of them has an efficient solution. But there are some problems that do not provide an even reasonable answer. And they are NP-complete problems. Therefore, they are neither P-complete nor NP-complete; instead we will say they are non-deterministic.


Every non-deterministic problem has a competitor, and that competitor is a non-deterministic polynomial time algorithm that will solve that problem in constant number of computations and time.


On the other hand, there is a competitor to every randomized algorithm and that competitor is a randomized polynomial time algorithm that will solve that problem in constant number of computations and time (it may not terminate in constant time and may not limit the number of computations). The notations of a deterministic algorithm are and for the non-deterministic algorithm and for the randomized algorithm.


NP-Complete


An NP-complete problem is a decision problem for which the set of satisfying assignments can be polynomially transformed into the set of all instances of any other NP-complete problem.


A language L is NP-complete if the following conditions hold:


there is an NP-complete problem in L.


Every language in NP is reducible to L.


P and NP-complete Problems


It is necessary to distinguish whether a language is NP-complete or whether it is in NP but not in P.


A language L is NP-complete if its complement is not in P.

  • GitHub
  • Discord
  • TikTok
  • White Instagram Icon
  • Youtube
  • X

© 2024 by LUCY

bottom of page