Share
VIDEOS 1 TO 50
Introduction to Theory of Computation
Introduction to Theory of Computation
Published: 2016/12/15
Channel: Neso Academy
David Deutsch: "The Theory of Computation is Irretrievably Within Physics"
David Deutsch: "The Theory of Computation is Irretrievably Within Physics"
Published: 2015/12/09
Channel: MrRobotoToo
Theory Of Computation 1,Introduction to TOC and DFA
Theory Of Computation 1,Introduction to TOC and DFA
Published: 2014/05/21
Channel: Gate Lectures by Ravindrababu Ravula
Theory of Computation - Intro to Computer Science
Theory of Computation - Intro to Computer Science
Published: 2012/06/02
Channel: Udacity
What is THEORY OF COMPUTATION? What does THEORY OF COMPUTATION mean?
What is THEORY OF COMPUTATION? What does THEORY OF COMPUTATION mean?
Published: 2016/10/01
Channel: The Audiopedia
Deterministic Finite Automata | TOC | THEORY OF COMPUTATION | AUTOMATA | COMPUTER SCIENCE | part-11
Deterministic Finite Automata | TOC | THEORY OF COMPUTATION | AUTOMATA | COMPUTER SCIENCE | part-11
Published: 2016/12/09
Channel: KNOWLEDGE GATE
REGULAR LANGUAGE | TOC | THEORY OF COMPUTATION | AUTOMATA | COMPUTER SCIENCE | part-51
REGULAR LANGUAGE | TOC | THEORY OF COMPUTATION | AUTOMATA | COMPUTER SCIENCE | part-51
Published: 2017/06/07
Channel: KNOWLEDGE GATE
Theory of Computation: What is Theory of Computation
Theory of Computation: What is Theory of Computation
Published: 2011/08/31
Channel: vkedco
Theory Of Computation lecture 65
Theory Of Computation lecture 65
Published: 2014/07/18
Channel: Gate Lectures by Ravindrababu Ravula
Theory of Computation or Automata Theory : Introduction to TOC & Basic Concepts | 001
Theory of Computation or Automata Theory : Introduction to TOC & Basic Concepts | 001
Published: 2015/03/19
Channel: Gate Instructors
02 Introduction to Formal Languages and Automata Part 2- Theory of Computation
02 Introduction to Formal Languages and Automata Part 2- Theory of Computation
Published: 2016/03/26
Channel: Gate UGC NET Lectures
Theory Of Computation 61 -- Examples of Regular expressions
Theory Of Computation 61 -- Examples of Regular expressions
Published: 2014/06/28
Channel: Gate Lectures by Ravindrababu Ravula
Theory Of Computation 2, Construction of minimal DFA and problems
Theory Of Computation 2, Construction of minimal DFA and problems
Published: 2013/07/19
Channel: Gate Lectures by Ravindrababu Ravula
01 Introduction to Formal Languages and Automata - Theory of Computation
01 Introduction to Formal Languages and Automata - Theory of Computation
Published: 2016/03/17
Channel: Gate UGC NET Lectures
Mod-01 Lec-01 What is theory of computation?
Mod-01 Lec-01 What is theory of computation?
Published: 2014/06/27
Channel: nptelhrd
What is TOC & TOFL | TOC | THEORY OF COMPUTATION | AUTOMATA | COMPUTER SCIENCE | part-4
What is TOC & TOFL | TOC | THEORY OF COMPUTATION | AUTOMATA | COMPUTER SCIENCE | part-4
Published: 2016/12/08
Channel: KNOWLEDGE GATE
INTRODUCTION | TOC | THEORY OF COMPUTATION | AUTOMATA | COMPUTER SCIENCE | part-1
INTRODUCTION | TOC | THEORY OF COMPUTATION | AUTOMATA | COMPUTER SCIENCE | part-1
Published: 2016/10/08
Channel: KNOWLEDGE GATE
Theory Of Computation 41,Minimization of DFA
Theory Of Computation 41,Minimization of DFA
Published: 2014/05/08
Channel: Gate Lectures by Ravindrababu Ravula
Theory Of Computation 3 , Construction of DFA and cross product of DFA
Theory Of Computation 3 , Construction of DFA and cross product of DFA
Published: 2014/05/08
Channel: Gate Lectures by Ravindrababu Ravula
Theory Of Computation lecture 68
Theory Of Computation lecture 68
Published: 2014/07/21
Channel: Gate Lectures by Ravindrababu Ravula
Theory Of Computation 22,DFA which accepts strings in which every
Theory Of Computation 22,DFA which accepts strings in which every 'a' is followed by 'bb'
Published: 2014/05/08
Channel: Gate Lectures by Ravindrababu Ravula
Non - Deterministic Finite Automata | TOC | THEORY OF COMPUTATION | AUTOMATA | part-31
Non - Deterministic Finite Automata | TOC | THEORY OF COMPUTATION | AUTOMATA | part-31
Published: 2017/05/24
Channel: KNOWLEDGE GATE
Basics Operations on strings | TOC | THEORY OF COMPUTATION | AUTOMATA | COMPUTER SCIENCE | part-7
Basics Operations on strings | TOC | THEORY OF COMPUTATION | AUTOMATA | COMPUTER SCIENCE | part-7
Published: 2016/12/08
Channel: KNOWLEDGE GATE
Theory of computation Bangla tutorial 55 : Introduction to NFA
Theory of computation Bangla tutorial 55 : Introduction to NFA
Published: 2016/06/26
Channel: Anisul Islam
Pushdown Automata | TOC | THEORY OF COMPUTATION | AUTOMATA | COMPUTER SCIENCE | part-62
Pushdown Automata | TOC | THEORY OF COMPUTATION | AUTOMATA | COMPUTER SCIENCE | part-62
Published: 2017/08/31
Channel: KNOWLEDGE GATE
Theory of computation Bangla tutorial 2 : Language
Theory of computation Bangla tutorial 2 : Language
Published: 2016/06/17
Channel: Anisul Islam
REGULAR EXPRESSION | TOC | THEORY OF COMPUTATION | AUTOMATA | COMPUTER SCIENCE | part-53
REGULAR EXPRESSION | TOC | THEORY OF COMPUTATION | AUTOMATA | COMPUTER SCIENCE | part-53
Published: 2017/06/09
Channel: KNOWLEDGE GATE
Pushdown Automata | TOC | THEORY OF COMPUTATION | AUTOMATA | COMPUTER SCIENCE | part-61
Pushdown Automata | TOC | THEORY OF COMPUTATION | AUTOMATA | COMPUTER SCIENCE | part-61
Published: 2017/08/30
Channel: KNOWLEDGE GATE
Basics of Formal language | TOC | THEORY OF COMPUTATION | AUTOMATA | COMPUTER SCIENCE | part-5
Basics of Formal language | TOC | THEORY OF COMPUTATION | AUTOMATA | COMPUTER SCIENCE | part-5
Published: 2016/12/08
Channel: KNOWLEDGE GATE
Theory of Computation - Closure of Union and Concatenation for DFA
Theory of Computation - Closure of Union and Concatenation for DFA
Published: 2016/02/26
Channel: The Simple Engineer
Theory Of Computation 57, Epsilon NFA and conversion of epsilon NFA to NFA
Theory Of Computation 57, Epsilon NFA and conversion of epsilon NFA to NFA
Published: 2013/07/25
Channel: Gate Lectures by Ravindrababu Ravula
Theory Of Computation 56,Conversion of Mealy machine to Moore machine
Theory Of Computation 56,Conversion of Mealy machine to Moore machine
Published: 2014/05/08
Channel: Gate Lectures by Ravindrababu Ravula
Theory Of Computation 8,DFA of binary no divisible by 4
Theory Of Computation 8,DFA of binary no divisible by 4
Published: 2014/05/08
Channel: Gate Lectures by Ravindrababu Ravula
string starting with a substring "w" | TOC | THEORY OF COMPUTATION | AUTOMATA | part-12
string starting with a substring "w" | TOC | THEORY OF COMPUTATION | AUTOMATA | part-12
Published: 2016/12/10
Channel: KNOWLEDGE GATE
Convert  Cfg to Pda | Conversion |  Theory of Computation(TOC)
Convert Cfg to Pda | Conversion | Theory of Computation(TOC)
Published: 2016/12/18
Channel: Last Minute Tutorials
Theory Of Computation lecture 67
Theory Of Computation lecture 67
Published: 2014/07/21
Channel: Gate Lectures by Ravindrababu Ravula
Theory Of Computation 31, DFA Union,Concatenation, Cross product, Complementaion,Reversal
Theory Of Computation 31, DFA Union,Concatenation, Cross product, Complementaion,Reversal
Published: 2014/05/08
Channel: Gate Lectures by Ravindrababu Ravula
Theory Of Computation 11,DFA of strings which ends with
Theory Of Computation 11,DFA of strings which ends with 'a'
Published: 2014/05/08
Channel: Gate Lectures by Ravindrababu Ravula
Regular Language | TOC | THEORY OF COMPUTATION | AUTOMATA | COMPUTER SCIENCE | part-46
Regular Language | TOC | THEORY OF COMPUTATION | AUTOMATA | COMPUTER SCIENCE | part-46
Published: 2017/06/02
Channel: KNOWLEDGE GATE
Regular Language | TOC | THEORY OF COMPUTATION | AUTOMATA | COMPUTER SCIENCE part-48
Regular Language | TOC | THEORY OF COMPUTATION | AUTOMATA | COMPUTER SCIENCE part-48
Published: 2017/06/05
Channel: KNOWLEDGE GATE
THEORY OF COMPUTATION,OR  AUTOMATA THEORY ( INTRODUCTION TO AUTOMATA) LEC - 1
THEORY OF COMPUTATION,OR AUTOMATA THEORY ( INTRODUCTION TO AUTOMATA) LEC - 1
Published: 2016/06/01
Channel: GATE and NET Computer Science video-lec
Theory Of Computation 29,DFA which accepts strings such that 2nd  symbol from LHS is
Theory Of Computation 29,DFA which accepts strings such that 2nd symbol from LHS is 'a'
Published: 2014/05/08
Channel: Gate Lectures by Ravindrababu Ravula
REGULAR EXPRESSION | TOC | THEORY OF COMPUTATION | AUTOMATA | COMPUTER SCIENCE | part-57
REGULAR EXPRESSION | TOC | THEORY OF COMPUTATION | AUTOMATA | COMPUTER SCIENCE | part-57
Published: 2017/06/17
Channel: KNOWLEDGE GATE
Theory Of Computation 38, convertion of NFA to DFA
Theory Of Computation 38, convertion of NFA to DFA
Published: 2013/07/23
Channel: Gate Lectures by Ravindrababu Ravula
Rodney Brooks - Computational Theory of Mind
Rodney Brooks - Computational Theory of Mind
Published: 2016/01/27
Channel: Closer To Truth
Theory Of Computation 12,Comparison between different DFAs
Theory Of Computation 12,Comparison between different DFAs
Published: 2014/05/08
Channel: Gate Lectures by Ravindrababu Ravula
Designing PDA | Pushdown Automata | Theory of Computation(TOC)
Designing PDA | Pushdown Automata | Theory of Computation(TOC)
Published: 2016/12/17
Channel: Last Minute Tutorials
Theory Of Computation lecture 66
Theory Of Computation lecture 66
Published: 2014/07/18
Channel: Gate Lectures by Ravindrababu Ravula
Minimization of DFA | TOC | THEORY OF COMPUTATION | AUTOMATA | COMPUTER SCIENCE | part-29
Minimization of DFA | TOC | THEORY OF COMPUTATION | AUTOMATA | COMPUTER SCIENCE | part-29
Published: 2016/12/29
Channel: KNOWLEDGE GATE
Theory Of Computation 58,Conversion of epsilon NFA to NFA
Theory Of Computation 58,Conversion of epsilon NFA to NFA
Published: 2013/07/25
Channel: Gate Lectures by Ravindrababu Ravula
NEXT
GO TO RESULTS [51 .. 100]

WIKIPEDIA ARTICLE

From Wikipedia, the free encyclopedia
Jump to: navigation, search
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]

In order to perform a rigorous study of computation, computer scientists work with a mathematical abstraction of computers called a model of computation. There are several models in use, but the most commonly examined is the Turing machine.[2] Computer scientists study the Turing machine because it is simple to formulate, can be analyzed and used to prove results, and because it represents what many consider the most powerful possible "reasonable" model of computation (see Church–Turing thesis).[3] It might seem that the potentially infinite memory capacity is an unrealizable attribute, but any decidable problem[4] solved by a Turing machine will always require only a finite amount of memory. So in principle, any problem that can be solved (decided) by a Turing machine can be solved by a computer that has a finite amount of memory.

History[edit]

The theory of computation can be considered the creation of models of all kinds in the field of computer science. Therefore, mathematics and logic are used. In the last century it became an independent academic discipline and was separated from mathematics.

Some pioneers of the theory of computation were Alonzo Church, Kurt Gödel, Alan Turing, Stephen Kleene, Rózsa Péter, John von Neumann and Claude Shannon.

Branches[edit]

Automata theory[edit]

Grammar Languages Automaton Production rules (constraints)
Type-0 Recursively enumerable Turing machine (no restrictions)
Type-1 Context-sensitive Linear-bounded non-deterministic Turing machine
Type-2 Context-free Non-deterministic pushdown automaton
Type-3 Regular Finite state automaton
and

Automata theory is the study of abstract machines (or more appropriately, abstract 'mathematical' machines or systems) and the computational problems that can be solved using these machines. These abstract machines are called automata. Automata comes from the Greek word (Αυτόματα) which means that something is doing something by itself. Automata theory is also closely related to formal language theory,[5] as the automata are often classified by the class of formal languages they are able to recognize. An automaton can be a finite representation of a formal language that may be an infinite set. Automata are used as theoretical models for computing machines, and are used for proofs about computability.

Formal Language theory[edit]

The Chomsky hierarchy
Set inclusions described by the Chomsky hierarchy

Language theory is a branch of mathematics concerned with describing languages as a set of operations over an alphabet. It is closely linked with automata theory, as automata are used to generate and recognize formal languages. There are several classes of formal languages, each allowing more complex language specification than the one before it, i.e. Chomsky hierarchy,[6] and each corresponding to a class of automata which recognizes it. Because automata are used as models for computation, formal languages are the preferred mode of specification for any problem that must be computed.

Computability theory[edit]

Computability theory deals primarily with the question of the extent to which a problem is solvable on a computer. The statement that the halting problem cannot be solved by a Turing machine[7] is one of the most important results in computability theory, as it is an example of a concrete problem that is both easy to formulate and impossible to solve using a Turing machine. Much of computability theory builds on the halting problem result.

Another important step in computability theory was Rice's theorem, which states that for all non-trivial properties of partial functions, it is undecidable whether a Turing machine computes a partial function with that property.[8]

Computability theory is closely related to the branch of mathematical logic called recursion theory, which removes the restriction of studying only models of computation which are reducible to the Turing model.[9] Many mathematicians and computational theorists who study recursion theory will refer to it as computability theory.

Computational complexity theory[edit]

A representation of the relation among complexity classes

Complexity theory considers not only whether a problem can be solved at all on a computer, but also how efficiently the problem can be solved. Two major aspects are considered: time complexity and space complexity, which are respectively how many steps does it take to perform a computation, and how much memory is required to perform that computation.

In order to analyze how much time and space a given algorithm requires, computer scientists express the time or space required to solve the problem as a function of the size of the input problem. For example, finding a particular number in a long list of numbers becomes harder as the list of numbers grows larger. If we say there are n numbers in the list, then if the list is not sorted or indexed in any way we may have to look at every number in order to find the number we're seeking. We thus say that in order to solve this problem, the computer needs to perform a number of steps that grows linearly in the size of the problem.

To simplify this problem, computer scientists have adopted Big O notation, which allows functions to be compared in a way that ensures that particular aspects of a machine's construction do not need to be considered, but rather only the asymptotic behavior as problems become large. So in our previous example we might say that the problem requires steps to solve.

Perhaps the most important open problem in all of computer science is the question of whether a certain broad class of problems denoted NP can be solved efficiently. This is discussed further at Complexity classes P and NP, and P versus NP problem is one of the seven Millennium Prize Problems stated by the Clay Mathematics Institute in 2000. The Official Problem Description was given by Turing Award winner Stephen Cook.

Models of computation[edit]

Aside from a Turing machine, other equivalent (See: Church–Turing thesis) models of computation are in use.

Lambda calculus
A computation consists of an initial lambda expression (or two if you want to separate the function and its input) plus a finite sequence of lambda terms, each deduced from the preceding term by one application of Beta reduction.
Combinatory logic
is a concept which has many similarities to -calculus, but also important differences exist (e.g. fixed point combinator Y has normal form in combinatory logic but not in -calculus). Combinatory logic was developed with great ambitions: understanding the nature of paradoxes, making foundations of mathematics more economic (conceptually), eliminating the notion of variables (thus clarifying their role in mathematics).
μ-recursive functions
a computation consists of a mu-recursive function, i.e. its defining sequence, any input value(s) and a sequence of recursive functions appearing in the defining sequence with inputs and outputs. Thus, if in the defining sequence of a recursive function the functions and appear, then terms of the form 'g(5)=7' or 'h(3,2)=10' might appear. Each entry in this sequence needs to be an application of a basic function or follow from the entries above by using composition, primitive recursion or μ recursion. For instance if , then for 'f(5)=3' to appear, terms like 'g(5)=6' and 'h(5,6)=3' must occur above. The computation terminates only if the final term gives the value of the recursive function applied to the inputs.
Markov algorithm
a string rewriting system that uses grammar-like rules to operate on strings of symbols.
Register machine
is a theoretically interesting idealization of a computer. There are several variants. In most of them, each register can hold a natural number (of unlimited size), and the instructions are simple (and few in number), e.g. only decrementation (combined with conditional jump) and incrementation exist (and halting). The lack of the infinite (or dynamically growing) external store (seen at Turing machines) can be understood by replacing its role with Gödel numbering techniques: the fact that each register holds a natural number allows the possibility of representing a complicated thing (e.g. a sequence, or a matrix etc.) by an appropriate huge natural number — unambiguity of both representation and interpretation can be established by number theoretical foundations of these techniques.

In addition to the general computational models, some simpler computational models are useful for special, restricted applications. Regular expressions, for example, specify string patterns in many contexts, from office productivity software to programming languages. Another formalism mathematically equivalent to regular expressions, Finite automata are used in circuit design and in some kinds of problem-solving. Context-free grammars specify programming language syntax. Non-deterministic pushdown automata are another formalism equivalent to context-free grammars. Primitive recursive functions are a defined subclass of the recursive functions.

Different models of computation have the ability to do different tasks. One way to measure the power of a computational model is to study the class of formal languages that the model can generate; in such a way to the Chomsky hierarchy of languages is obtained.

References[edit]

  1. ^ Michael Sipser (2013). Introduction to the Theory of Computation 3rd. Cengage Learning. ISBN 978-1-133-18779-0. central areas of the theory of computation: automata, computability, and complexity. (Page 1) 
  2. ^ Hodges, Andrew (2012). Alan Turing: The Enigma (The Centenary Edition). Princeton University Press. ISBN 978-0-691-15564-7. 
  3. ^ Rabin, Michael O. (June 2012). Turing, Church, Gödel, Computability, Complexity and Randomization: A Personal View. 
  4. ^ Donald Monk (1976). Mathematical Logic. Springer-Verlag. ISBN 9780387901701. 
  5. ^ Hopcroft, John E. and Jeffrey D. Ullman (2006). Introduction to Automata Theory, Languages, and Computation. 3rd ed. Reading, MA: Addison-Wesley. ISBN 978-0-321-45536-9. 
  6. ^ Chomsky hierarchy (1956). "Three models for the description of language". Information Theory, IRE Transactions on. IEEE. 2 (3): 113–124. doi:10.1109/TIT.1956.1056813. Retrieved 6 January 2015. 
  7. ^ Alan Turing (1937). "On computable numbers, with an application to the Entscheidungsproblem". Proceedings of the London Mathematical Society. IEEE. 2 (42): 230–265. doi:10.1112/plms/s2-42.1.230. Retrieved 6 January 2015. 
  8. ^ Henry Gordon Rice (1953). "Classes of Recursively Enumerable Sets and Their Decision Problems". Transactions of the American Mathematical Society. American Mathematical Society. 74 (2): 358–366. JSTOR 1990888. doi:10.2307/1990888. 
  9. ^ Martin Davis (2004). The undecidable: Basic papers on undecidable propositions, unsolvable problems and computable functions (Dover Ed). Dover Publications. ISBN 978-0486432281. 

Further reading[edit]

Textbooks aimed at computer scientists

(There are many textbooks in this area; this list is by necessity incomplete.)

Books on computability theory from the (wider) mathematical perspective
Historical perspective

External links[edit]

Disclaimer

None of the audio/visual content is hosted on this site. All media is embedded from other sites such as GoogleVideo, Wikipedia, YouTube etc. Therefore, this site has no control over the copyright issues of the streaming media.

All issues concerning copyright violations should be aimed at the sites hosting the material. This site does not host any of the streaming media and the owner has not uploaded any of the material to the video hosting servers. Anyone can find the same content on Google Video or YouTube by themselves.

The owner of this site cannot know which documentaries are in public domain, which has been uploaded to e.g. YouTube by the owner and which has been uploaded without permission. The copyright owner must contact the source if he wants his material off the Internet completely.

Powered by YouTube
Wikipedia content is licensed under the GFDL and (CC) license