FACTOID # 89: In the 1990's, nearly half of all arms exported to developing countries came from the United States of America.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > Computable

Computability theory is that part of the theory of computation dealing with which problems are solvable by algorithms (equivalently, by Turing machines), with various restrictions and extensions. Computability theory addresses four main questions:

  • What problems can Turing machines solve?
  • What other systems are equivalent to Turing machines?
  • What problems require more powerful machines?
  • What problems can be solved by less powerful machines?

See the article on theory of computation for a chart showing which classes of problems are subsets of other classes.

Contents

What problems can Turing machines solve?

Not all problems can be solved. An undecidable problem is one that cannot be solved by any algorithm, even given unbounded time and memory. Many undecidable problems are known. For example, the Entscheidungsproblem (German for "decision problem") is this: given a statement in first-order predicate calculus, decide whether it is universally valid. Church and Turing independently proved this is undecidable. The halting problem is: given a program and inputs for it, decide whether it will run forever or will eventually halt. Turing proved this is also undecidable. A computable number is a real number which can be approximated to any arbitrary degree of accuracy by an algorithm. Turing proved that almost all numbers are uncomputable. Chaitin's constant is an uncomputable number, even though it is well defined.


What other systems are equivalent to Turing machines?

The languages that are accepted by a Turing machine are exactly those that are generated by formal grammars. The lambda calculus is a way of defining functions. The functions that can be computed in the lambda calculus are exactly those that can be computed by a Turing machine. These three formulations, Turing machines, formal grammars, and the lambda calculus all look very different, and were all developed by different people. Yet they are all equivalent, and have the same problem-solving power. This is generally taken as evidence for the Church-Turing thesis, which is the claim that our intuitive notion of an algorithm or an effective procedure is captured by the mathematical definition of a Turing machine.


Electronic computers, and even quantum computers, are exactly equivalent to Turing machines, if they have access to an unbounded supply of memory. As a corollary, all implementable programming languages are at best equivalent in power to a Turing machine (in practice, a very few are less powerful). Such languages are said to be Turing-complete. Systems equivalent to a Turing machine include:

  • Turing machine with several tapes
  • Turing machine with a 2-dimensional "tape" (an infinite number of linear tapes)
  • Turing machine with a limited number of states and tape symbols
    • States×symbols can be any of 2×18, 3×10, 4×6, 5×5, 7×4, 10×3, 22×2
  • Turing machine with 2 states, always reversing (http://skelet.ludost.net/bb/RTM.htm) the tape value
  • Turing machine with 2 states, with 3 possible value changes: 0->0, 0->1 and 1->1 (proposed by Hao Wang)
  • Finite state machine with 2 stacks
  • Finite state machine with 2 counters
  • Formal grammar
  • Post system
  • Lambda calculus
  • Partial recursive functions
  • Almost any modern programming language (when given unlimited memory), including:
    • A language with 1 instruction, 1 parameter, and 1 special memory location (URISC) or 1 instruction with 3 parameters (OISC), (see also [1] (http://www.catb.org/~esr/retro/))
    • A language with 8 instructions, no parameters (see BrainFuck)
  • Wang tiles
  • Recurrent neural network (finite-precision inputs/outputs/weights, infinite-precision signals initialized to zero)
  • Cellular automaton, including:
    • Conway's Game of Life
    • Cellular automaton with just 1 dimension, 2 states, 3 cells per neighborhood (e.g. rule 110)
  • Non-deterministic Turing machine
  • Probabilistic Turing Machine
  • Quantum computer

The last three examples use a slightly different definition of accepting a language. They are said to accept a string if any computation accepts (for non-deterministic), or most computations accept (for probabilistic and quantum). Given these definitions, those machines have the same power as a Turing machine for accepting languages.


What problems require more powerful machines?

Sometimes machines are considered that have more power than a Turing machine. For example, an oracle machine uses a black box that can compute some particular function that might not be possible for an ordinary Turing machine. The computational strength of an oracle machine is described by its Turing degree. The theory of real computation deals with machines using infinite-precision real numbers. Within this theory, it is possible to prove interesting statements such as "the complement of the Mandelbrot set is only partially decidable". For other such powerful machines, see super-Turing computation and hypercomputation.


See also


  Results from FactBites:
 
SCHOOL OF COMPUTER SCIENCE/Carnegie Mellon University (492 words)
A paper detailing the algorithm, developed by Tuomas Sandholm, Avrim Blum (professors of computer science), and graduate assistant David J. Abraham, will be presented at the Association for Computing Machinery’s Conference on Electronic Commerce in San Diego.
Computational Thinking: By coining the term “computational thinking,” Jeannette Wing, Head CSD, encapsulated both the answer to the question, “What is computer science?”; and a viewpoint on how computer science is revolutionizing not only all the sciences, but impacting every aspect of our lives in the 21st century.
You can also download a copy of the Computer Science poster which displays many of the diverse and exciting areas of Computer Science.
Home Computer Security (12040 words)
While intruders also attack home computers connected to the Internet through dial-in connections, high-speed connections (cable modems and DSL modems) are a favorite target.
Instead, it goes from your computer to another computer to still another computer and so on, eventually reaching his or her computer.
For a computer, the repair cycle might have to be repeated until a patch completely fixes a problem.
  More results at FactBites »


 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments
Please enter the 5-letter protection code

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms.