the entire wiki with video and photo galleries

find something interesting to watch in seconds

find something interesting to watch in seconds

YouTube Videos – NP-completeness and Related Articles

In computational complexity theory, an NP-complete decision problem is one belonging to both the NP and the NP-hard …

Euler diagram for P, NP, NP-complete, and NP-hard set of problems. The left side is valid under the assumption that P≠NP, while the right side is valid under the assumption that P=NP (except that the empty language and its complement are never NP-complete)

Some NP-complete problems, indicating the reductions typically used to prove their NP-completeness

RELATED RESEARCH TOPICS

1. NP-completeness – In computational complexity theory, a decision problem is NP-complete when it is both in NP and NP-hard. The set of NP-complete problems is often denoted by NP-C or NPC, the abbreviation NP refers to nondeterministic polynomial time. That is, the required to solve the problem using any currently known algorithm increases very quickly as the size of the problem grows. As a consequence, determining whether or not it is possible to solve problems quickly. NP-complete problems are addressed by using heuristic methods and approximation algorithms. A problem p in NP is NP-complete if every problem in NP can be transformed into p in polynomial time. NP-complete problems are studied because the ability to quickly verify solutions to a problem seems to correlate with the ability to solve that problem. It is not known whether every problem in NP can be quickly solved—this is called the P versus NP problem, because of this, it is often said that NP-complete problems are harder or more difficult than NP problems in general. A decision problem C is NP-complete if, C is in NP, C can be shown to be in NP by demonstrating that a candidate solution to C can be verified in polynomial time. Note that a problem satisfying condition 2 is said to be NP-hard, a consequence of this definition is that if we had a polynomial time algorithm for C, we could solve all problems in NP in polynomial time. The concept of NP-completeness was introduced in 1971, though the term NP-complete was introduced later, at 1971 STOC conference, there was a fierce debate among the computer scientists about whether NP-complete problems could be solved in polynomial time on a deterministic Turing machine. This is known as the question of whether P=NP, nobody has yet been able to determine conclusively whether NP-complete problems are in fact solvable in polynomial time, making this one of the great unsolved problems of mathematics. The Clay Mathematics Institute is offering a US $1 million reward to anyone who has a proof that P=NP or that P≠NP. Cook–Levin theorem states that the Boolean satisfiability problem is NP-complete, in 1972, Richard Karp proved that several other problems were also NP-complete, thus there is a class of NP-complete problems. For more details refer to Introduction to the Design and Analysis of Algorithms by Anany Levitin, an interesting example is the graph isomorphism problem, the graph theory problem of determining whether a graph isomorphism exists between two graphs. Two graphs are isomorphic if one can be transformed into the other simply by renaming vertices, consider these two problems, Graph Isomorphism, Is graph G1 isomorphic to graph G2. Subgraph Isomorphism, Is graph G1 isomorphic to a subgraph of graph G2, the Subgraph Isomorphism problem is NP-complete. The graph isomorphism problem is suspected to be neither in P nor NP-complete and this is an example of a problem that is thought to be hard, but is not thought to be NP-complete

2. Euler diagram – An Euler diagram is a diagrammatic means of representing sets and their relationships. Typically they involve overlapping shapes, and may be scaled, such that the area of the shape is proportional to the number of elements it contains and they are particularly useful for explaining complex hierarchies and overlapping definitions. They are often confused with the Venn diagrams, unlike Venn diagrams which show all possible relations between different sets, the Euler diagram shows only relevant relationships. The first use of Eulerian circles is commonly attributed to Swiss mathematician Leonhard Euler, in the United States, both Venn and Euler diagrams were incorporated as part of instruction in set theory as part of the new math movement of the 1960s. Since then, they have also adopted by other curriculum fields such as reading as well as organizations. Euler diagrams consist of simple closed shapes in a two dimensional plane that depict a set or category. How or if these shapes overlap demonstrates the relationships between the sets, there are only 3 possible relationships between any 2 sets, completely inclusive, partially inclusive, and exclusive. This is also referred to as containment, overlap or neither or, especially in mathematics, it may be referred to as subset, intersection, curves whose interior zones do not intersect represent disjoint sets. Two curves whose interior zones intersect represent sets that have common elements, a curve that is contained completely within the interior zone of another represents a subset of it. Venn diagrams are a more form of Euler diagrams. A Venn diagram must contain all 2n logically possible zones of overlap between its n curves, representing all combinations of inclusion/exclusion of its constituent sets. Regions not part of the set are indicated by coloring them black, in contrast to Euler diagrams, when the number of sets grows beyond 3 a Venn diagram becomes visually complex, especially compared to the corresponding Euler diagram. The difference between Euler and Venn diagrams can be seen in the following example, the Venn diagram, which uses the same categories of Animal, Mineral, and Four Legs, does not encapsulate these relationships. Traditionally the emptiness of a set in Venn diagrams is depicted by shading in the region, Euler diagrams represent emptiness either by shading or by the absence of a region. Often a set of conditions are imposed, these are topological or geometric constraints imposed on the structure of the diagram. For example, connectedness of zones might be enforced, or concurrency of curves or multiple points might be banned, in the adjacent diagram, examples of small Venn diagrams are transformed into Euler diagrams by sequences of transformations, some of the intermediate diagrams have concurrency of curves. However, this sort of transformation of a Venn diagram with shading into an Euler diagram without shading is not always possible. There are examples of Euler diagrams with 9 sets that are not drawable using simple closed curves without the creation of unwanted zones since they would have to have non-planar dual graphs

3. Determinism – Determinism is the philosophical position that for every event there exist conditions that could cause no other event. There are many determinisms, depending on what pre-conditions are considered to be determinative of an event or action, deterministic theories throughout the history of philosophy have sprung from diverse and sometimes overlapping motives and considerations. Some forms of determinism can be tested with ideas from physics. The opposite of determinism is some kind of indeterminism, Determinism is often contrasted with free will. Determinism often is taken to mean causal determinism, which in physics is known as cause-and-effect and it is the concept that events within a given paradigm are bound by causality in such a way that any state is completely determined by prior states. This meaning can be distinguished from varieties of determinism mentioned below. Numerous historical debates involve many philosophical positions and varieties of determinism and they include debates concerning determinism and free will, technically denoted as compatibilistic and incompatibilistic. Determinism should not be confused with self-determination of human actions by reasons, motives, Determinism rarely requires that perfect prediction be practically possible. However, causal determinism is a broad term to consider that ones deliberations, choices. Causal determinism proposes that there is a chain of prior occurrences stretching back to the origin of the universe. The relation between events may not be specified, nor the origin of that universe, causal determinists believe that there is nothing in the universe that is uncaused or self-caused. Historical determinism can also be synonymous with causal determinism, causal determinism has also been considered more generally as the idea that everything that happens or exists is caused by antecedent conditions. Yet they can also be considered metaphysical of origin. Nomological determinism is the most common form of causal determinism and it is the notion that the past and the present dictate the future entirely and necessarily by rigid natural laws, that every occurrence results inevitably from prior events. Quantum mechanics and various interpretations thereof pose a challenge to this view. Nomological determinism is sometimes illustrated by the experiment of Laplaces demon. Nomological determinism is sometimes called scientific determinism, although that is a misnomer, physical determinism is generally used synonymously with nomological determinism. Necessitarianism is closely related to the causal determinism described above and it is a metaphysical principle that denies all mere possibility, there is exactly one way for the world to be. Leucippus claimed there were no uncaused events, and that occurs for a reason

4. Turing machine – Despite the models simplicity, given any computer algorithm, a Turing machine can be constructed that is capable of simulating that algorithms logic. The machine operates on an infinite memory tape divided into discrete cells, the machine positions its head over a cell and reads the symbol there. The Turing machine was invented in 1936 by Alan Turing, who called it an a-machine, thus, Turing machines prove fundamental limitations on the power of mechanical computation. Turing completeness is the ability for a system of instructions to simulate a Turing machine, a Turing machine is a general example of a CPU that controls all data manipulation done by a computer, with the canonical machine using sequential memory to store data. More specifically, it is a capable of enumerating some arbitrary subset of valid strings of an alphabet. Assuming a black box, the Turing machine cannot know whether it will eventually enumerate any one specific string of the subset with a given program and this is due to the fact that the halting problem is unsolvable, which has major implications for the theoretical limits of computing. The Turing machine is capable of processing an unrestricted grammar, which implies that it is capable of robustly evaluating first-order logic in an infinite number of ways. This is famously demonstrated through lambda calculus, a Turing machine that is able to simulate any other Turing machine is called a universal Turing machine. The thesis states that Turing machines indeed capture the notion of effective methods in logic and mathematics. Studying their abstract properties yields many insights into computer science and complexity theory, at any moment there is one symbol in the machine, it is called the scanned symbol. The machine can alter the scanned symbol, and its behavior is in part determined by that symbol, however, the tape can be moved back and forth through the machine, this being one of the elementary operations of the machine. Any symbol on the tape may therefore eventually have an innings, the Turing machine mathematically models a machine that mechanically operates on a tape. On this tape are symbols, which the machine can read and write, one at a time, in the original article, Turing imagines not a mechanism, but a person whom he calls the computer, who executes these deterministic mechanical rules slavishly. If δ is not defined on the current state and the current tape symbol, Q0 ∈ Q is the initial state F ⊆ Q is the set of final or accepting states. The initial tape contents is said to be accepted by M if it eventually halts in a state from F, Anything that operates according to these specifications is a Turing machine. The 7-tuple for the 3-state busy beaver looks like this, Q = Γ = b =0 Σ = q 0 = A F = δ = see state-table below Initially all tape cells are marked with 0. In the words of van Emde Boas, p.6, The set-theoretical object provides only partial information on how the machine will behave and what its computations will look like. For instance, There will need to be many decisions on what the symbols actually look like, and a failproof way of reading and writing symbols indefinitely