background preloader

Computational complexity theory

Computational complexity theory
Computational complexity theory is a branch of the theory of computation in theoretical computer science and mathematics that focuses on classifying computational problems according to their inherent difficulty, and relating those classes to each other. A computational problem is understood to be a task that is in principle amenable to being solved by a computer, which is equivalent to stating that the problem may be solved by mechanical application of mathematical steps, such as an algorithm. A problem is regarded as inherently difficult if its solution requires significant resources, whatever the algorithm used. The theory formalizes this intuition, by introducing mathematical models of computation to study these problems and quantifying the amount of resources needed to solve them, such as time and storage. Closely related fields in theoretical computer science are analysis of algorithms and computability theory. Computational problems[edit] Problem instances[edit] Turing machine[edit]

Related:  philosophy treeComputationaltodo : readMachine learning/nlp/AI

Computational irreducibility Computational irreducibility is one of the main ideas proposed by Stephen Wolfram in his book A New Kind of Science. The idea[edit] Wolfram terms the inability to shortcut a program (e.g., a system), or otherwise describe its behavior in a simple way, "computational irreducibility". The empirical fact is that the world of simple programs contains a great diversity of behavior, but, because of undecidability, it is impossible to predict what they will do before essentially running them. The idea demonstrates that there are occurrences where theory's predictions are effectively not possible.

P versus NP problem Diagram of complexity classes provided that P≠NP. The existence of problems within NP but outside both P and NP-complete, under that assumption, was established by Ladner's theorem.[1] The P versus NP problem is a major unsolved problem in computer science. Theory of computation An artistic representation of a Turing machine. Turing machines are frequently used as theoretical models for computing. In theoretical computer science and mathematics, the theory of computation is the branch that deals with how efficiently problems can be solved on a model of computation, using an algorithm. The field is divided into three major branches: automata theory and language, computability theory, and computational complexity theory, which are linked by the question: "What are the fundamental capabilities and limitations of computers?."[1] History[edit]

NP - Wikipedia From Wikipedia, the free encyclopedia NP may refer to: Arts and entertainment[edit] Organizations[edit] Places[edit] NP postcode area, Newport, Wales, United KingdomNepal (ISO 3166-1 alpha-2 country code NP) .np, the country code top level domain (ccTLD) for NepalNichols Point, Australia Gödel's incompleteness theorems Gödel's incompleteness theorems are two theorems of mathematical logic that establish inherent limitations of all but the most trivial axiomatic systems capable of doing arithmetic. The theorems, proven by Kurt Gödel in 1931, are important both in mathematical logic and in the philosophy of mathematics. The two results are widely, but not universally, interpreted as showing that Hilbert's program to find a complete and consistent set of axioms for all mathematics is impossible, giving a negative answer to Hilbert's second problem. The first incompleteness theorem states that no consistent system of axioms whose theorems can be listed by an "effective procedure" (i.e., any sort of algorithm) is capable of proving all truths about the relations of the natural numbers (arithmetic). For any such system, there will always be statements about the natural numbers that are true, but that are unprovable within the system. Background[edit] Title: The Mystery of the Binary Author: Viznut Originally published in the [ALT] magazine issue 0x0000 The subcultures of computing are very young. There are no legends nor values that come from the distant past. No ancient mysticism, no generations-old symbols that have deep emotional effects. Even the old and classical things tend to be quite recent. Fortunately, even the past is not static. Theoretical computer science An artistic representation of a Turing machine. Turing machines are used to model general computing devices. Theoretical computer science is a division or subset of general computer science and mathematics that focuses on more abstract or mathematical aspects of computing and includes the theory of computation. It is not easy to circumscribe the theory areas precisely and the ACM's ACM SIGACT (SIGACT) describes its mission as the promotion of theoretical computer science and notes:[1]

NP-hardness - Wikipedia Definition[edit] A decision problem H is NP-hard when for every problem L in NP, there is a polynomial-time reduction from L to H[1]:80 An equivalent definition is to require that every problem L in NP can be solved in polynomial time by an oracle machine with an oracle for H.[7] Informally, we can think of an algorithm that can call such an oracle machine as a subroutine for solving H, and solves L in polynomial time, if the subroutine call takes only one step to compute. Another definition is to require that there is a polynomial-time reduction from an NP-complete problem G to H.[1]:91 As any problem L in NP reduces in polynomial time to G, L reduces in turn to H in polynomial time so this new definition implies the previous one. Awkwardly, it does not restrict the class NP-hard to decision problems, for instance it also includes search problems, or optimization problems. Consequences[edit]

Chaos theory A double rod pendulum animation showing chaotic behavior. Starting the pendulum from a slightly different initial condition would result in a completely different trajectory. The double rod pendulum is one of the simplest dynamical systems that has chaotic solutions. Chaos: When the present determines the future, but the approximate present does not approximately determine the future.

Combinatorial Game Theory Combinatorial Game Theory studies strategies and mathematics of two-player games of perfect knowledge such as chess or go (but often either concentrating instead on simpler games such as nim, or solving endgames and other special cases). An important distinction between this subject and classical game theory (a branch of economics) is that game players are assumed to move in sequence rather than simultanously, so there is no point in randomization or other information-hiding strategies. The bible of combinatorial game theory is Winning Ways for your Mathematical Plays, by E. R.