In theoretical computer science and mathematics, the theory of computation is the branch that deals with what problems can be solved on a model of computation, using an algorithm, how efficiently they can be solved or to what degree (e.g., approximate solutions versus precise ones). The field is divided into three major branches: automata theory and formal languages, computability theory, and computational complexity theory, which are linked by the question: "What are the fundamental capabilities and limitations of computers?".[1]
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 separated from mathematics and became an independent academic discipline with its own conferences such as FOCS in 1960 and STOC in 1969, and its own awards such as the IMU Abacus Medal (established in 1981 as the Rolf Nevanlinna Prize), the Gdel Prize, established in 1993, and the Knuth Prize, established in 1996.
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.
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 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.
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 it takes 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 grow 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 O ( n ) \displaystyle O(n) 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.
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.
The mission of the ITC is to advance our knowledge and understanding of the universe through computational and analytical means, to create a forum for exploration and discoveries in theoretical astrophysics, and to train the next generation of astrophysicists. Read More about the ITC Mission.
Harvard University astronomers and Smithsonian Institution astronomers explore the cosmos together. The combination of the Harvard College Observatory (HCO) and the Smithsonian Astrophysical Observatory (SAO) is known as the Harvard-Smithsonian Center for Astrophysics (CfA).
The mission of the ITC is to advance our knowledge and understanding of the universe through computational and analytical means, to create a forum for exploration and discoveries in theoretical astrophysics, and to train the next generation of astrophysicists.
Turing motivates his approach by reflecting on idealized humancomputing agents. Citing finitary limits on our perceptual andcognitive apparatus, he argues that any symbolic algorithm executed bya human can be replicated by a suitable Turing machine. He concludesthat the Turing machine formalism, despite its extreme simplicity, ispowerful enough to capture all humanly executable mechanicalprocedures over symbolic configurations. Subsequent discussants havealmost universally agreed.
Turing computation is often described as digital ratherthan analog. What this means is not always so clear, but thebasic idea is usually that computation operates over discreteconfigurations. By comparison, many historically important algorithmsoperate over continuously variable configurations. For example,Euclidean geometry assigns a large role to ruler-and-compassconstructions, which manipulate geometric shapes. For any shape,one can find another that differs to an arbitrarily smallextent. Symbolic configurations manipulated by a Turing machine do notdiffer to arbitrarily small extent. Turing machines operate overdiscrete strings of elements (digits) drawn from a finitealphabet. One recurring controversy concerns whether the digitalparadigm is well-suited to model mental activity or whether an analogparadigm would instead be more fitting (MacLennan 2012; Piccinini andBahar 2013).
Some philosophers insist that computers, no matter howsophisticated they become, will at best mimic ratherthan replicate thought. A computer simulation of the weatherdoes not really rain. A computer simulation of flight does not reallyfly. Even if a computing system could simulate mental activity, whysuspect that it would constitute the genuine article?
Warren McCulloch and Walter Pitts (1943) first suggested thatsomething resembling the Turing machine might provide a good model forthe mind. In the 1960s, Turing computation became central to theemerging interdisciplinary initiative cognitive science,which studies the mind by drawing upon psychology, computer science(especially AI), linguistics, philosophy, economics (especially gametheory and behavioral economics), anthropology, and neuroscience. Thelabel classical computational theory of mind (which we willabbreviate as CCTM) is now fairly standard. According to CCTM, themind is a computational system similar in important respects to aTuring machine, and core mental processes (e.g., reasoning,decision-making, and problem solving) are computations similar inimportant respects to computations executed by a Turing machine. Theseformulations are imprecise. CCTM is best seen as a family of views,rather than a single well-definedview.[1]
Second, CCTM is not intended metaphorically. CCTM does not simplyhold that the mind is like a computing system. CCTM holdsthat the mind literally is a computing system. Of course, themost familiar artificial computing systems are made from silicon chipsor similar materials, whereas the human body is made from flesh andblood. But CCTM holds that this difference disguises a morefundamental similarity, which we can capture through a Turing-stylecomputational model. In offering such a model, we prescind fromphysical details. We attain an abstract computational description thatcould be physically implemented in diverse ways (e.g., through siliconchips, or neurons, or pulleys and levers). CCTM holds that a suitableabstract computational model offers a literally true description ofcore mental processes.
c01484d022