com put able function atomta trm pr

Upload: khushi-gupta

Post on 06-Apr-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/3/2019 Com Put Able Function Atomta Trm Pr

    1/12

    Computable functionFrom Wikipedia, the free encyclopedia

    Jump to: navigation, search

    "Total recursive function" redirects here. For other uses of the term "recursive

    function", see Recursive function (disambiguation).

    Computable functions are the basic objects of study in computability theory. Computablefunctions are the formalized analogue of the intuitive notion ofalgorithm. They are used todiscuss computability without referring to any concrete model of computationsuch as Turingmachinesorregister machines. Any definition, however, must make reference to some specificmodel of computation but all valid definitions yield the same class of functions. Particularmodels of computability that give rise to the set of computable functions are theTuring-computable functions and the -recursive functions.

    Before the precise definition of computable function, mathematiciansoften used the informalterm effectively calculable. This term has since come to be identified with the computablefunctions. Note that the effective computability of these functions does not imply that they canbe efficiently computed (i.e. computed within a reasonable amount of time). In fact, for someeffectively calculable functions it can be shown that any algorithm that computes them will bevery inefficient in the sense that the running time of the algorithm increases exponentially (oreven superexponentially) with the length of the input. The fields offeasible computability andcomputational complexity study functions that can be computed efficiently.

    According to the Church-Turing thesis, computable functions are exactly the functions that canbe calculated using a mechanical calculation device given unlimited amounts of time and storagespace. Equivalently, this thesis states that any function which has an algorithm is computable.

    Note that an algorithm in this sense is understood to be a sequence of steps a person withunlimited time and an infinite supply of pen and paper could follow.

    The Blum axioms can be used to define an abstract computational complexity theoryon the setof computable functions. In computational complexity theory, the problem of determining thecomplexity of a computable function is known as a function problem.

    Contents[hide]

    1 Definition

    2 Characteristics of computable functions

    3 Computable sets and relations

    4 Formal languages

    5 Examples

    6 Church-Turing thesis

    7 Incomputable functions and unsolvableproblems

    http://en.wikipedia.org/wiki/Recursive_function_(disambiguation)http://en.wikipedia.org/wiki/Recursion_theoryhttp://en.wikipedia.org/wiki/Recursion_theoryhttp://en.wikipedia.org/wiki/Algorithmhttp://en.wikipedia.org/wiki/Algorithmhttp://en.wikipedia.org/wiki/Algorithmhttp://en.wikipedia.org/wiki/Model_of_computationhttp://en.wikipedia.org/wiki/Model_of_computationhttp://en.wikipedia.org/wiki/Turing_machinehttp://en.wikipedia.org/wiki/Turing_machinehttp://en.wikipedia.org/wiki/Turing_machinehttp://en.wikipedia.org/wiki/Register_machinehttp://en.wikipedia.org/wiki/Turing-computable_functionhttp://en.wikipedia.org/wiki/Turing-computable_functionhttp://en.wikipedia.org/wiki/Turing-computable_functionhttp://en.wikipedia.org/wiki/%CE%9C-recursive_functionhttp://en.wikipedia.org/wiki/Mathematicianhttp://en.wikipedia.org/wiki/Mathematicianhttp://en.wikipedia.org/wiki/Exponential_growthhttp://en.wikipedia.org/wiki/Tetrationhttp://en.wikipedia.org/wiki/Feasible_computabilityhttp://en.wikipedia.org/wiki/Feasible_computabilityhttp://en.wikipedia.org/wiki/Computational_complexityhttp://en.wikipedia.org/wiki/Church-Turing_thesishttp://en.wikipedia.org/wiki/Blum_axiomshttp://en.wikipedia.org/wiki/Computational_complexity_theoryhttp://en.wikipedia.org/wiki/Computational_complexity_theoryhttp://en.wikipedia.org/wiki/Function_problemhttp://en.wikipedia.org/wiki/Function_problemhttp://en.wikipedia.org/wiki/Computable_functionhttp://en.wikipedia.org/wiki/Recursive_function_(disambiguation)http://en.wikipedia.org/wiki/Recursion_theoryhttp://en.wikipedia.org/wiki/Algorithmhttp://en.wikipedia.org/wiki/Model_of_computationhttp://en.wikipedia.org/wiki/Turing_machinehttp://en.wikipedia.org/wiki/Turing_machinehttp://en.wikipedia.org/wiki/Register_machinehttp://en.wikipedia.org/wiki/Turing-computable_functionhttp://en.wikipedia.org/wiki/Turing-computable_functionhttp://en.wikipedia.org/wiki/%CE%9C-recursive_functionhttp://en.wikipedia.org/wiki/Mathematicianhttp://en.wikipedia.org/wiki/Exponential_growthhttp://en.wikipedia.org/wiki/Tetrationhttp://en.wikipedia.org/wiki/Feasible_computabilityhttp://en.wikipedia.org/wiki/Computational_complexityhttp://en.wikipedia.org/wiki/Church-Turing_thesishttp://en.wikipedia.org/wiki/Blum_axiomshttp://en.wikipedia.org/wiki/Computational_complexity_theoryhttp://en.wikipedia.org/wiki/Function_problemhttp://en.wikipedia.org/wiki/Computable_function
  • 8/3/2019 Com Put Able Function Atomta Trm Pr

    2/12

    8 Extensions of computability

    8.1 Relative computability

    8.2 Higher recursion theory

    8.3 Hyper-computation

    9 See also

    10 References

    [edit] DefinitionThe class of computable functions can be defined in many equivalentmodels of computation,including

    Turing machines

    -recursive functions

    Lambda calculus

    Post machines (Post-Turing machines and tag machines).

    Register machines

    Although those models use different representations for the functions, their inputs and theiroutputs, translations exist between any two models. In the remainder of this article, functionsfrom natural numbers to natural numbers are used (as is the case for, e.g., the -recursivefunctions).

    Each computable functionftakes a fixed, finite number of natural numbers as arguments.Because the functions arepartial in general, they may not be defined for every possible choice ofinput. If a computable function is defined for a certain input, then it returns a single naturalnumber as output (this output can be interpreted as a list of numbers using apairing function).

    These functions are also called partial recursive functions. In computability theory, the domainof a function is taken to be the set of all inputs for which the function is defined.

    A function which is defined for all possible arguments is called total. If a computable function istotal, it is called a total computable function ortotal recursive function.

    The notationf(x1, ...,xk) indicates that the partial functionfis defined on argumentsx1, ...,xk,and the notationf(x1, ...,xk) =y indicates thatfis defined on the argumentsx1, ...,xk and the valuereturned isy. The case that a functionfis undefined for argumentsx1, ...,xk is denoted byf(x1, ...,xk) .

    [edit] Characteristics of computable functionsMain article: Algorithm

    The basic characteristic of a computable function is that there must be a finite procedure (analgorithm) telling how to compute the function. The models of computation listed above givedifferent interpretations of what a procedure is and how it is used, but these interpretations sharemany properties. The fact that these models give equivalent classes of computable functionsstems from the fact that each model is capable of reading and mimicking a procedure for any ofthe other models, much as a compileris able to read instructions in one computer language andemit instructions in another language.

    http://en.wikipedia.org/w/index.php?title=Computable_function&action=edit&section=1http://en.wikipedia.org/wiki/Model_of_computationhttp://en.wikipedia.org/wiki/Model_of_computationhttp://en.wikipedia.org/wiki/Model_of_computationhttp://en.wikipedia.org/wiki/Turing_machinehttp://en.wikipedia.org/wiki/%CE%9C-recursive_functionhttp://en.wikipedia.org/wiki/Lambda_calculushttp://en.wikipedia.org/wiki/Post-Turing_machinehttp://en.wikipedia.org/wiki/Tag_systemhttp://en.wikipedia.org/wiki/Register_machinehttp://en.wikipedia.org/wiki/Natural_numbershttp://en.wikipedia.org/wiki/Partial_functionhttp://en.wikipedia.org/wiki/Pairing_functionhttp://en.wikipedia.org/wiki/Domain_(mathematics)http://en.wikipedia.org/wiki/Total_functionhttp://en.wikipedia.org/wiki/Total_functionhttp://en.wikipedia.org/w/index.php?title=Computable_function&action=edit&section=2http://en.wikipedia.org/wiki/Algorithmhttp://en.wikipedia.org/wiki/Algorithmhttp://en.wikipedia.org/wiki/Compilerhttp://en.wikipedia.org/w/index.php?title=Computable_function&action=edit&section=1http://en.wikipedia.org/wiki/Model_of_computationhttp://en.wikipedia.org/wiki/Turing_machinehttp://en.wikipedia.org/wiki/%CE%9C-recursive_functionhttp://en.wikipedia.org/wiki/Lambda_calculushttp://en.wikipedia.org/wiki/Post-Turing_machinehttp://en.wikipedia.org/wiki/Tag_systemhttp://en.wikipedia.org/wiki/Register_machinehttp://en.wikipedia.org/wiki/Natural_numbershttp://en.wikipedia.org/wiki/Partial_functionhttp://en.wikipedia.org/wiki/Pairing_functionhttp://en.wikipedia.org/wiki/Domain_(mathematics)http://en.wikipedia.org/wiki/Total_functionhttp://en.wikipedia.org/w/index.php?title=Computable_function&action=edit&section=2http://en.wikipedia.org/wiki/Algorithmhttp://en.wikipedia.org/wiki/Algorithmhttp://en.wikipedia.org/wiki/Compiler
  • 8/3/2019 Com Put Able Function Atomta Trm Pr

    3/12

    Enderton [1977] gives the following characteristics of a procedure for computing a computablefunction; similar characterizations have been given by Turing [1936], Rogers [1967], and others.

    There must be exact instructions (i.e. a program), finite in length, for theprocedure.

    Thus every computable function must have a finite program that completely describes how the

    function is to be computed. It is possible to compute the function by just following theinstructions; no guessing or special insight is required.

    If the procedure is given a k-tuple x in the domain off, then after a finitenumber of discrete steps the procedure must terminate and produce f(x).

    Intuitively, the procedure proceeds step by step, with a specific rule to cover what to do at eachstep of the calculation. Only finitely many steps can be carried out before the value of thefunction is returned.

    If the procedure is given a k-tuple x which is not in the domain off, then theprocedure might go on forever, never halting. Or it might get stuck at somepoint, but it must not pretend to produce a value for fat x.

    Thus if a value forf(x) is ever found, it must be the correct value. It is not necessary for thecomputing agent to distinguish correct outcomes from incorrect ones because the procedure isalways correct when it produces an outcome.

    Enderton goes on to list several clarifications of these requirements of the procedure for acomputable function:

    The procedure must theoretically work for arbitrarily large arguments. It isnot assumed that the arguments are smaller than the number of atoms in theEarth, for example.

    The procedure is required to halt after finitely many steps in order to producean output, but it may take arbitrarily many steps before halting. No timelimitation is assumed.

    Although the procedure may use only a finite amount of storage space duringa successful computation, there is no bound on the amount of space that isused. It is assumed that additional storage space can be given to theprocedure whenever the procedure asks for it.

    The field ofcomputational complexitystudies functions with prescribed bounds on the timeand/or space allowed in a successful computation.

    [edit] Computable sets and relationsA setA of natural numbers is called computable (synonyms: recursive, decidable) if there is acomputable, total functionfsuch that for any natural numbern,f(n) = 1 ifn is inA andf(n) = 0 if

    n is not inA.A set of natural numbers is called computably enumerable (synonyms: recursivelyenumerable, semidecidable) if there is a computable functionfsuch that for each numbern,f(n)is defined if and only ifn is in the set. Thus a set is computably enumerable if and only if it is thedomain of some computable function. The word enumerable is used because the following areequivalent for a nonempty subsetB of the natural numbers:

    B is the domain of a computable function.

    http://en.wikipedia.org/wiki/Herbert_Endertonhttp://en.wikipedia.org/wiki/Computational_complexityhttp://en.wikipedia.org/wiki/Computational_complexityhttp://en.wikipedia.org/w/index.php?title=Computable_function&action=edit&section=3http://en.wikipedia.org/wiki/If_and_only_ifhttp://en.wikipedia.org/wiki/Herbert_Endertonhttp://en.wikipedia.org/wiki/Computational_complexityhttp://en.wikipedia.org/w/index.php?title=Computable_function&action=edit&section=3http://en.wikipedia.org/wiki/If_and_only_if
  • 8/3/2019 Com Put Able Function Atomta Trm Pr

    4/12

    B is the range of a total computable function. IfB is infinite then the functioncan be assumed to be injective.

    If a setB is the range of a functionfthen the function can be viewed as an enumeration ofB,because the listf(0),f(1), ... will include every element ofB.

    Because each finitary relation on the natural numbers can be identified with a corresponding set

    of finite sequences of natural numbers, the notions ofcomputable relation and computablyenumerable relation can be defined from their analogues for sets.

    [edit] Formal languagesMain article: Formal language

    In computability theory in computer science, it is common to considerformal languages. Analphabet is an arbitrary set. A word on an alphabet is a finite sequence of symbols from thealphabet; the same symbol may be used more than once. For example, binary strings are exactlythe words on the alphabet {0, 1} . A language is a subset of the collection of all words on a fixedalphabet. For example, the collection of all binary strings that contain exactly 3 ones is a

    language over the binary alphabet.A key property of a formal language is the level of difficulty required to decide whether a givenword is in the language. Some coding system must be developed to allow a computable functionto take an arbitrary word in the language as input; this is usually considered routine. A languageis called computable (synonyms: recursive, decidable) if there is a computable functionfsuchthat for each word w over the alphabet,f(w) = 1 if the word is in the language andf(w) = 0 if theword is not in the language. Thus a language is computable just in case there is a procedure thatis able to correctly tell whether arbitrary words are in the language.

    A language is computably enumerable (synonyms: recursively enumerable, semidecidable) ifthere is a computable functionfsuch thatf(w) is defined if and only if the word w is in thelanguage. The term enumerable has the same etymology as in computably enumerable sets of

    natural numbers.

    [edit] ExamplesThe following functions are computable:

    Each function with a finite domain; e.g., any finite sequence of naturalnumbers.

    Each constant functionf: Nk N, f(n1,...nk) := n.

    Addition f: N N, f(n1,n2) := n1 + n2

    The function which gives the list of prime factors of a number.

    The greatest common divisor of two numbers is a computable function.

    Bzout's identity, a linear Diophantine equation

    Iffandgare computable, then so are:f + g,f * g, iffis unary, max(f,g), min(f,g),argmax{yf(x)} and many more combinations.

    The following examples illustrate that a function may be computable though it is not knownwhich algorithm computes it.

    http://en.wikipedia.org/wiki/Injectivehttp://en.wikipedia.org/wiki/Finitary_relationhttp://en.wikipedia.org/w/index.php?title=Computable_function&action=edit&section=4http://en.wikipedia.org/wiki/Formal_languagehttp://en.wikipedia.org/wiki/Computability_theory_(computer_science)http://en.wikipedia.org/wiki/Computability_theory_(computer_science)http://en.wikipedia.org/wiki/Formal_languagehttp://en.wikipedia.org/w/index.php?title=Computable_function&action=edit&section=5http://en.wikipedia.org/wiki/Domain_(mathematics)http://en.wikipedia.org/wiki/Constant_functionhttp://en.wikipedia.org/wiki/Additionhttp://en.wikipedia.org/wiki/Greatest_common_divisorhttp://en.wikipedia.org/wiki/B%C3%A9zout's_identityhttp://en.wikipedia.org/wiki/Diophantine_equationhttp://en.wikipedia.org/wiki/Multiplicationhttp://en.wikipedia.org/wiki/Unary_operationhttp://en.wikipedia.org/wiki/Arg_maxhttp://en.wikipedia.org/wiki/Arg_maxhttp://en.wikipedia.org/wiki/Arg_maxhttp://en.wikipedia.org/wiki/Function_compositionhttp://en.wikipedia.org/wiki/Injectivehttp://en.wikipedia.org/wiki/Finitary_relationhttp://en.wikipedia.org/w/index.php?title=Computable_function&action=edit&section=4http://en.wikipedia.org/wiki/Formal_languagehttp://en.wikipedia.org/wiki/Computability_theory_(computer_science)http://en.wikipedia.org/wiki/Formal_languagehttp://en.wikipedia.org/w/index.php?title=Computable_function&action=edit&section=5http://en.wikipedia.org/wiki/Domain_(mathematics)http://en.wikipedia.org/wiki/Constant_functionhttp://en.wikipedia.org/wiki/Additionhttp://en.wikipedia.org/wiki/Greatest_common_divisorhttp://en.wikipedia.org/wiki/B%C3%A9zout's_identityhttp://en.wikipedia.org/wiki/Diophantine_equationhttp://en.wikipedia.org/wiki/Multiplicationhttp://en.wikipedia.org/wiki/Unary_operationhttp://en.wikipedia.org/wiki/Arg_maxhttp://en.wikipedia.org/wiki/Arg_max
  • 8/3/2019 Com Put Able Function Atomta Trm Pr

    5/12

    The function fsuch that f(n) = 1 if there is a sequence ofat least nconsecutive fives in the decimal expansion of, and f(n) = 0 otherwise, iscomputable. (The function fis either the constant 1 function, which iscomputable, or else there is a ksuch that f(n) = 1 ifn < kand f(n) = 0 ifn k. Every such function is computable. It is not known whether there arearbitrarily long runs of fives in the decimal expansion of , so we don't know

    which of those functions is f. Nevertheless, we know that the function fmustbe computable.)

    Each finite segment of an incomputable sequence of natural numbers (suchas the Busy Beaver function) is computable. E.g., for each natural numbern, there exists an algorithm that computes the finite sequence (0), (1),(2), ..., (n) in contrast to the fact that there is no algorithm thatcomputes the entire -sequence, i.e. (n) for all n. Thus, "Print 0, 1, 4, 6, 13"is a trivial algorithm to compute (0), (1), (2), (3), (4); similarly, for anygiven value ofn, such a trivial algorithm exists (even though it may never beknown or produced by anyone) to compute (0), (1), (2), ..., (n).

    Semicomputable functionFrom Wikipedia, the free encyclopedia

    Jump to: navigation, search

    In computability theory, a semicomputable function is apartial function that canbe approximated either from above or from below by acomputable function.

    More precisely apartial function is upper semicomputable, meaning it can be

    approximated from above, if there exists a computable function ,wherex is the desired parameter forf(x) and kis the level of approximation, such that:

    Completely analogous apartial function is lower semicomputable iff f(x) isupper semicomputable or equivalently if there exists a computable function ( x,k) such that

    If apartial function is both upper and lowersemicomputable it is called computable.

    http://en.wikipedia.org/wiki/Pihttp://en.wikipedia.org/wiki/Recursion_theoryhttp://en.wikipedia.org/wiki/Recursion_theoryhttp://en.wikipedia.org/wiki/Partial_functionhttp://en.wikipedia.org/wiki/Computable_functionhttp://en.wikipedia.org/wiki/Computable_functionhttp://en.wikipedia.org/wiki/Partial_functionhttp://en.wikipedia.org/wiki/Partial_functionhttp://en.wikipedia.org/wiki/Computable_functionhttp://en.wikipedia.org/wiki/Partial_functionhttp://en.wikipedia.org/wiki/Computable_functionhttp://en.wikipedia.org/wiki/Computable_functionhttp://en.wikipedia.org/wiki/Partial_functionhttp://en.wikipedia.org/wiki/Pihttp://en.wikipedia.org/wiki/Recursion_theoryhttp://en.wikipedia.org/wiki/Partial_functionhttp://en.wikipedia.org/wiki/Computable_functionhttp://en.wikipedia.org/wiki/Partial_functionhttp://en.wikipedia.org/wiki/Computable_functionhttp://en.wikipedia.org/wiki/Partial_functionhttp://en.wikipedia.org/wiki/Computable_functionhttp://en.wikipedia.org/wiki/Partial_function
  • 8/3/2019 Com Put Able Function Atomta Trm Pr

    6/12

    [edit] Church-Turing thesisMain article: Church-Turing thesis

    The Church-Turing thesis states that any function computable from a procedure possessing thethree properties listed above is a computable function. Because these three properties are not

    formally stated, the Church-Turing thesis cannot be proved. The following facts are often takenas evidence for the thesis:

    Many equivalent models of computation are known, and they all give thesame definition of computable function (or a weaker version, in someinstances).

    No stronger model of computation which is generally considered to beeffectively calculable has been proposed.

    The Church-Turing thesis is sometimes used in proofs to justify that a particular function iscomputable by giving a concrete description of a procedure for the computation. This ispermitted because it is believed that all such uses of the thesis can be removed by the tedious

    process of writing a formal procedure for the function in some model of computation.

    [edit] Incomputable functions and unsolvable problemsMain article: List of undecidable problems

    Every computable function has a finite procedure giving explicit, unambiguous instructions onhow to compute it. Furthermore, this procedure has to be encoded in the finite alphabet used bythe computational model, so there are only countablymany computable functions. For example,functions may be encoded using a string of bits (the alphabet = {0, 1} ).

    The real numbers are uncountable so most real numbers are not computable. See computablenumber. The set offinitary functions on the natural numbers is uncountable so most are not

    computable. Concrete examples of such functions are Busy beaver,Kolmogorov complexity, orany function that outputs the digits of a noncomputable number, such as Chaitin's constant.

    Similarly, most subsets of the natural numbers are not computable. TheHalting problem was thefirst such set to be constructed. The Entscheidungsproblem, proposed by David Hilbert, askedwhether there is an effective procedure to determine which mathematical statements (coded asnatural numbers) are true. Turing and Church independently showed in the 1930s that this set ofnatural numbers is not computable. According to the Church-Turing thesis, there is no effectiveprocedure (with an algorithm) which can perform these computations.

    [edit] Extensions of computability

    [edit] Relative computability

    The notion of computability of a function can be relativized to an arbitrary setofnatural numbersA. A functionfis defined to be computable in A (equivalentlyA-computable orcomputablerelative to A) when it satisfies the definition of a computable function with modificationsallowing access toA as anoracle. As with the concept of a computable function relativecomputability can be given equivalent definitions in many different models of computation. Thisis commonly accomplished by supplementing the model of computation with an additionalprimitive operation which asks whether a given integer is a member ofA. We can also talk aboutfbeing computable in gby identifyinggwith its graph.

    http://en.wikipedia.org/w/index.php?title=Computable_function&action=edit&section=6http://en.wikipedia.org/wiki/Church-Turing_thesishttp://en.wikipedia.org/wiki/Effectively_calculablehttp://en.wikipedia.org/w/index.php?title=Computable_function&action=edit&section=7http://en.wikipedia.org/wiki/List_of_undecidable_problemshttp://en.wikipedia.org/wiki/Countabilityhttp://en.wikipedia.org/wiki/Countabilityhttp://en.wikipedia.org/wiki/Finitaryhttp://en.wikipedia.org/wiki/Busy_beaverhttp://en.wikipedia.org/wiki/Kolmogorov_complexityhttp://en.wikipedia.org/wiki/Kolmogorov_complexityhttp://en.wikipedia.org/wiki/Chaitin's_constanthttp://en.wikipedia.org/wiki/Halting_problemhttp://en.wikipedia.org/wiki/Halting_problemhttp://en.wikipedia.org/wiki/Entscheidungsproblemhttp://en.wikipedia.org/wiki/Entscheidungsproblemhttp://en.wikipedia.org/wiki/David_Hilberthttp://en.wikipedia.org/w/index.php?title=Computable_function&action=edit&section=8http://en.wikipedia.org/w/index.php?title=Computable_function&action=edit&section=9http://en.wikipedia.org/wiki/Relative_computabilityhttp://en.wikipedia.org/wiki/Set_(mathematics)http://en.wikipedia.org/wiki/Set_(mathematics)http://en.wikipedia.org/wiki/Natural_numberhttp://en.wikipedia.org/wiki/Oracle_(computability)http://en.wikipedia.org/wiki/Oracle_(computability)http://en.wikipedia.org/w/index.php?title=Computable_function&action=edit&section=6http://en.wikipedia.org/wiki/Church-Turing_thesishttp://en.wikipedia.org/wiki/Effectively_calculablehttp://en.wikipedia.org/w/index.php?title=Computable_function&action=edit&section=7http://en.wikipedia.org/wiki/List_of_undecidable_problemshttp://en.wikipedia.org/wiki/Countabilityhttp://en.wikipedia.org/wiki/Finitaryhttp://en.wikipedia.org/wiki/Busy_beaverhttp://en.wikipedia.org/wiki/Kolmogorov_complexityhttp://en.wikipedia.org/wiki/Chaitin's_constanthttp://en.wikipedia.org/wiki/Halting_problemhttp://en.wikipedia.org/wiki/Entscheidungsproblemhttp://en.wikipedia.org/wiki/David_Hilberthttp://en.wikipedia.org/w/index.php?title=Computable_function&action=edit&section=8http://en.wikipedia.org/w/index.php?title=Computable_function&action=edit&section=9http://en.wikipedia.org/wiki/Relative_computabilityhttp://en.wikipedia.org/wiki/Set_(mathematics)http://en.wikipedia.org/wiki/Natural_numberhttp://en.wikipedia.org/wiki/Oracle_(computability)
  • 8/3/2019 Com Put Able Function Atomta Trm Pr

    7/12

    [edit] Higher recursion theory

    Hyperarithmetical theory studies those sets that can be computed from acomputable ordinalnumber of iterates of the Turing jumpof the empty set. This is equivalent to sets defined by botha universal and existential formula in the language of second order arithmetic and to somemodels ofHypercomputation. Even more general recursion theories have been studied, such as

    E-recursion theory in which any set can be used as an argument to an E-recursive function.

    [edit] Hyper-computation

    Although the Church-Turing thesis states that the computable functions include all functionswith algorithms, it is possible to consider broader classes of functions that relax the requirementsthat algorithms must possess. The field ofHypercomputationstudies models of computation thatgo beyond normal Turing computation. These don't violate the Church-Turing thesis since theyallow operations that, whether or not they can be implemented in a physical device, couldn't beperformed by a human working with pencil and paper.[citation needed]

    [edit] References

    Cutland, Nigel. Computability. Cambridge University Press, 1980. Enderton , H.B. Elements of recursion theory. Handbook of Mathematical

    Logic (North-Holland 1977) pp. 527566.

    Rogers, H. Theory of recursive functions and effective computation (McGraw-Hill 1967).

    Turing, A. (1936), On Computable Numbers, With an Application to theEntscheidungsproblem. Proceedings of the London Mathematical Society,Series 2, Volume 42 (1936). Reprinted in M. Davis (ed.), The Undecidable,Raven Press, Hewlett, NY, 1965.

    incomputer science, a universal Turing machine (UTM) is aTuring machine that can simulatean arbitrary Turing machine on arbitrary input. The universal machine essentially achieves thisby reading both the description of the machine to be simulated as well as the input thereof fromits own tape. Alan Turing introduced this machine in 19361937. This model is considered bysome (for example, Martin Davis (2000)) to be the origin of the stored program computerusedby John von Neumann(1946) for the "Electronic Computing Instrument" that now bears vonNeumann's name: the von Neumann architecture. It is also known as universal computingmachine, universal machine, machine U, U.

    In terms ofcomputational complexity, a multi-tape universal Turing machine need only beslower by logarithmicfactor compared to the machines it simulates.

    Contents[hide]

    1 Introduction

    2 Stored-program computer

    3 Mathematical theory

    http://en.wikipedia.org/w/index.php?title=Computable_function&action=edit&section=10http://en.wikipedia.org/wiki/Hyperarithmetical_theoryhttp://en.wikipedia.org/wiki/Computable_ordinalhttp://en.wikipedia.org/wiki/Computable_ordinalhttp://en.wikipedia.org/wiki/Turing_jumphttp://en.wikipedia.org/wiki/Turing_jumphttp://en.wikipedia.org/wiki/Hypercomputationhttp://en.wikipedia.org/w/index.php?title=Computable_function&action=edit&section=11http://en.wikipedia.org/wiki/Hypercomputationhttp://en.wikipedia.org/wiki/Hypercomputationhttp://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttp://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttp://en.wikipedia.org/w/index.php?title=Computable_function&action=edit&section=13http://en.wikipedia.org/wiki/Herbert_Endertonhttp://en.wikipedia.org/wiki/Herbert_Endertonhttp://en.wikipedia.org/wiki/A._Turinghttp://en.wikipedia.org/wiki/A._Turinghttp://en.wikipedia.org/wiki/Computer_sciencehttp://en.wikipedia.org/wiki/Computer_sciencehttp://en.wikipedia.org/wiki/Turing_machinehttp://en.wikipedia.org/wiki/Turing_machinehttp://en.wikipedia.org/wiki/Alan_Turinghttp://en.wikipedia.org/wiki/Martin_Davishttp://en.wikipedia.org/wiki/John_von_Neumannhttp://en.wikipedia.org/wiki/John_von_Neumannhttp://en.wikipedia.org/wiki/Von_Neumann_architecturehttp://en.wikipedia.org/wiki/Computational_complexityhttp://en.wikipedia.org/wiki/Computational_complexityhttp://en.wikipedia.org/wiki/Logarithmichttp://en.wikipedia.org/wiki/Logarithmichttp://en.wikipedia.org/wiki/Universal_Turing_machinehttp://en.wikipedia.org/w/index.php?title=Computable_function&action=edit&section=10http://en.wikipedia.org/wiki/Hyperarithmetical_theoryhttp://en.wikipedia.org/wiki/Computable_ordinalhttp://en.wikipedia.org/wiki/Turing_jumphttp://en.wikipedia.org/wiki/Hypercomputationhttp://en.wikipedia.org/w/index.php?title=Computable_function&action=edit&section=11http://en.wikipedia.org/wiki/Hypercomputationhttp://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttp://en.wikipedia.org/w/index.php?title=Computable_function&action=edit&section=13http://en.wikipedia.org/wiki/Herbert_Endertonhttp://en.wikipedia.org/wiki/A._Turinghttp://en.wikipedia.org/wiki/Computer_sciencehttp://en.wikipedia.org/wiki/Turing_machinehttp://en.wikipedia.org/wiki/Alan_Turinghttp://en.wikipedia.org/wiki/Martin_Davishttp://en.wikipedia.org/wiki/John_von_Neumannhttp://en.wikipedia.org/wiki/Von_Neumann_architecturehttp://en.wikipedia.org/wiki/Computational_complexityhttp://en.wikipedia.org/wiki/Logarithmichttp://en.wikipedia.org/wiki/Universal_Turing_machine
  • 8/3/2019 Com Put Able Function Atomta Trm Pr

    8/12

    4 Efficiency

    5 Smallest machines

    6 Example of universal-machine coding

    7 See also

    8 References

    [edit] Introduction

    Every Turing machine computes a certain fixedpartialcomputable functionfrom the inputstrings over its alphabet. In that sense it behaves like a computer with a fixed program. However,we can encode the action table of any Turing machine in a string. Thus we can construct aTuring machine that expects on its tape a string describing an action table followed by a stringdescribing the input tape, and computes the tape that the encoded Turing machine would have

    computed. Turing described such a construction in complete detail in his 1936 paper:

    "It is possible to invent a single machine which can be used to compute any computablesequence. If this machine U is supplied with a tape on the beginning of which is writtenthe S.D ["standard description" of an action table] of some computing machine M, then Uwill compute the same sequence as M."[1]

    [edit] Stored-program computerDavis makes a persuasive argument that Turing's conception of what is now known as "thestored-program computer", of placing the "action table" -- the instructions for the machinein

    the same "memory" as the input data, strongly influencedJohn von Neumann's conception of thefirst discrete-symbol (as opposed to analog) computerthe EDVAC. Davis quotes Timemagazine to this effect, that "everyone who taps at a keyboard... is working on an incarnation ofa Turing machine," and that "John von Neumann [built] on the work of Alan Turing" (Davis2000:193 quoting Time magazine of 29 March 1999).

    Davis makes a case that Turing's Automatic Computing Engine (ACE) computer "anticipated"the notions of microprogramming (microcode) and RISC processors (Davis 2000:188). Knuthcites Turing's work on the ACE computer as designing "hardware to facilitate subroutine

    http://en.wikipedia.org/w/index.php?title=Universal_Turing_machine&action=edit&section=1http://en.wikipedia.org/wiki/Partial_functionhttp://en.wikipedia.org/wiki/Partial_functionhttp://en.wikipedia.org/wiki/Partial_functionhttp://en.wikipedia.org/wiki/Computable_functionhttp://en.wikipedia.org/wiki/Computable_functionhttp://en.wikipedia.org/w/index.php?title=Universal_Turing_machine&action=edit&section=2http://en.wikipedia.org/wiki/John_von_Neumannhttp://en.wikipedia.org/wiki/John_von_Neumannhttp://en.wikipedia.org/wiki/John_von_Neumannhttp://en.wikipedia.org/wiki/EDVAChttp://en.wikipedia.org/wiki/Automatic_Computing_Enginehttp://en.wikipedia.org/wiki/Microcodehttp://en.wikipedia.org/wiki/RISChttp://en.wikipedia.org/wiki/Donald_Knuthhttp://en.wikipedia.org/wiki/File:Universal_Turing_machine.svghttp://en.wikipedia.org/w/index.php?title=Universal_Turing_machine&action=edit&section=1http://en.wikipedia.org/wiki/Partial_functionhttp://en.wikipedia.org/wiki/Computable_functionhttp://en.wikipedia.org/w/index.php?title=Universal_Turing_machine&action=edit&section=2http://en.wikipedia.org/wiki/John_von_Neumannhttp://en.wikipedia.org/wiki/EDVAChttp://en.wikipedia.org/wiki/Automatic_Computing_Enginehttp://en.wikipedia.org/wiki/Microcodehttp://en.wikipedia.org/wiki/RISChttp://en.wikipedia.org/wiki/Donald_Knuth
  • 8/3/2019 Com Put Able Function Atomta Trm Pr

    9/12

    linkeage" (Knuth 1973:225); Davis also references this work as Turing's use of a hardware"stack" (Davis 2000:237 footnote 18).

    As the Turing Machine was encouraging the construction ofcomputers, the UTM wasencouraging the development of the fledgling computer sciences. An early, if not the very first,assembler was proposed "by a young hot-shot programmer" for the EDVAC (Davis 2000:192).

    Von Neumann's "first serious program ... [was] to simply sort data efficiently" (Davis 2000:184).Knuth observes that the subroutine return embedded in the program itself rather than in specialregisters is attributable to von Neumann and Goldstine.[2] Knuth furthermore states that

    "The first interpretive routine may be said to be the "Universal Turing Machine" ...Interpretive routines in the conventional sense were mentioned by John Mauchly in hislectures at the Moore School in 1946 ... Turing took part in this development also;interpretive systems for the Pilot ACE computer were written under his direction" (Knuth1973:226).

    Davis briefly mentions operating systems and compilers as outcomes of the notion of program-as-data (Davis 2000:185).

    Some, however, might raise issues with this assessment. At the time (mid-1940s to mid-1950s) arelatively small cadre of researchers were intimately involved with the architecture of the new"digital computers".Hao Wang (1954), a young researcher at this time, made the followingobservation:

    Turing's theory of computable functions antedated but has not much influenced theextensive actual construction of digital computers. These two aspects of theory andpractice have been developed almost entirely independently of each other. The mainreason is undoubtedly that logicians are interested in questions radically different fromthose with which the applied mathematicians and electrical engineers are primarilyconcerned. It cannot, however, fail to strike one as rather strange that often the sameconcepts are expressed by very different terms in the two developments." (Wang 1954,1957:63)

    Wang hoped that his paper would "connect the two approaches." Indeed, Minsky confirms this:"that the first formulation of Turing-machine theory in computer-like models appears in Wang(1957)" (Minsky 1967:200). Minsky goes on to demonstrateTuring equivalence of a countermachine.

    With respect to the reduction of computers to simpleTuring equivalentmodels (and vice versa),Minsky's designation of Wang as having made "the first formulation" is open to debate. Whileboth Minsky's paper of 1961 and Wang's paper of 1957 are cited by Shepherdson and Sturgis(1963), they also cite and summarize in some detail the work of European mathematiciansKaphenst (1959), Ershov (1959), and Pter (1958). The names of mathematicians Hermes (1954,1955, 1961) and Kaphenst (1959) appear in the bibliographies of both Sheperdson-Sturgis (1963)

    and Elgot-Robinson (1961). Two other names of importance are Canadian researchers Melzak(1961) and Lambek (1961). For much more see Turing machine equivalents; references can befound at Register machine.

    [edit] Mathematical theoryWith this encoding of action tables as strings it becomes possible in principle for Turingmachines to answer questions about the behaviour of other Turing machines. Most of thesequestions, however, are undecidable, meaning that the function in question cannot be calculated

    http://en.wikipedia.org/wiki/Computershttp://en.wikipedia.org/wiki/Computershttp://en.wikipedia.org/wiki/Computer_sciencehttp://en.wikipedia.org/wiki/Computer_sciencehttp://en.wikipedia.org/wiki/Hao_Wanghttp://en.wikipedia.org/wiki/Hao_Wanghttp://en.wikipedia.org/wiki/Turing_equivalencehttp://en.wikipedia.org/wiki/Turing_equivalencehttp://en.wikipedia.org/wiki/Counter_machinehttp://en.wikipedia.org/wiki/Counter_machinehttp://en.wikipedia.org/wiki/Turing_equivalenthttp://en.wikipedia.org/wiki/Turing_equivalenthttp://en.wikipedia.org/wiki/Turing_equivalenthttp://en.wikipedia.org/wiki/Turing_machine_equivalentshttp://en.wikipedia.org/wiki/Register_machinehttp://en.wikipedia.org/wiki/Register_machinehttp://en.wikipedia.org/w/index.php?title=Universal_Turing_machine&action=edit&section=3http://en.wikipedia.org/wiki/Undecidable_problemhttp://en.wikipedia.org/wiki/Undecidable_problemhttp://en.wikipedia.org/wiki/Computershttp://en.wikipedia.org/wiki/Computer_sciencehttp://en.wikipedia.org/wiki/Hao_Wanghttp://en.wikipedia.org/wiki/Turing_equivalencehttp://en.wikipedia.org/wiki/Counter_machinehttp://en.wikipedia.org/wiki/Counter_machinehttp://en.wikipedia.org/wiki/Turing_equivalenthttp://en.wikipedia.org/wiki/Turing_machine_equivalentshttp://en.wikipedia.org/wiki/Register_machinehttp://en.wikipedia.org/w/index.php?title=Universal_Turing_machine&action=edit&section=3http://en.wikipedia.org/wiki/Undecidable_problem
  • 8/3/2019 Com Put Able Function Atomta Trm Pr

    10/12

    mechanically. For instance, the problem of determining whether an arbitrary Turing machine willhalt on a particular input, or on all inputs, known as theHalting problem, was shown to be, ingeneral, undecidable in Turing's original paper. Rice's theoremshows that any non-trivialquestion about the output of a Turing machine is undecidable.

    A universal Turing machine can calculate anyrecursive function, decide any recursive language,

    and accept any recursively enumerable language. According to theChurch-Turing thesis, theproblems solvable by a universal Turing machine are exactly those problems solvable by analgorithm or an effective method of computation, for any reasonable definition of those terms.For these reasons, a universal Turing machine serves as a standard against which to comparecomputational systems, and a system that can simulate a universal Turing machine is calledTuring complete.

    An abstract version of the universal Turing machine is the universal function, a computablefunction which can be used to calculate any other computable function. The utm theoremprovesthe existence of such a function.

    [edit] Efficiency

    Without loss of generality, the input of Turing machine can be assumed to be in the alphabet {0,1}; any other finite alphabet can be encoded over {0, 1}. The behavior of a Turing machine Misdetermined by its transition function. This function can be easily encoded as a string over thealphabet {0, 1} as well. The size of the alphabet ofM, the number of tapes it has, and the size ofthe state space can be deduced from the transition functions table. The distinguished states andsymbols can be identified by their position, e.g. the first two states can by convention be the startand stop states. Consequently, every Turing machine can be encoded as a string over thealphabet {0, 1}. Additionally, we convene that every invalid encoding maps to a trivial Turingmachine that immediately halts, and that every Turing machine can have an infinite number ofencodings by padding the encoding with an arbitrary number of (say) 1's at the end, just likecomments work in a programming language. It should be no surprise that we can achieve thisencoding given the existence of a Gdel numberand computational equivalence between Turingmachines and -recursive functions. Similarly, our construction associates to every binary string, a Turing machine M.

    Starting from the above encoding, in 1966 F. C. Hennie and R. E. Stearnsshowed that given aTuring machine M that halts on inputx withinNsteps, then there exists a multi-tape universalTuring machine that halts on inputs ,x (given on different tapes) in CNlogN, where Cis amachine-specific constant that does not depend on the length of the inputx, but does depend onM's alphabet size, number of tapes, and number of states. Effectively this is anO(NlogN)simulation.[3]

    [edit] Smallest machines

    When Alan Turing came up with the idea of a universal machine he had in mind the simplestcomputing model powerful enough to calculate all possible functions which can be calculated.Claude Shannon first explicitly posed the question of finding the smallest possible universalTuring machine in 1956. He showed that two symbols were sufficient so long as enough stateswere used (or vice-versa), and that it was always possible to exchange states by symbols.

    Marvin Minsky discovered a 7-state 4-symbol universal Turing machine in 1962 using 2-tagsystems. Other small universal Turing machines have since been found by Yurii Rogozhin andothers by extending this approach of tag system simulation. If we denote by (m, n) the class of

    http://en.wikipedia.org/wiki/Halting_problemhttp://en.wikipedia.org/wiki/Halting_problemhttp://en.wikipedia.org/wiki/Rice's_theoremhttp://en.wikipedia.org/wiki/Rice's_theoremhttp://en.wikipedia.org/wiki/Recursive_functionhttp://en.wikipedia.org/wiki/Recursive_functionhttp://en.wikipedia.org/wiki/Recursive_languagehttp://en.wikipedia.org/wiki/Recursively_enumerable_languagehttp://en.wikipedia.org/wiki/Church-Turing_thesishttp://en.wikipedia.org/wiki/Church-Turing_thesishttp://en.wikipedia.org/wiki/Turing_completehttp://en.wikipedia.org/wiki/Universal_functionhttp://en.wikipedia.org/wiki/Utm_theoremhttp://en.wikipedia.org/w/index.php?title=Universal_Turing_machine&action=edit&section=4http://en.wikipedia.org/wiki/G%C3%B6del_numberhttp://en.wikipedia.org/wiki/G%C3%B6del_numberhttp://en.wikipedia.org/wiki/%CE%9C-recursive_functionhttp://en.wikipedia.org/wiki/R._E._Stearnshttp://en.wikipedia.org/wiki/R._E._Stearnshttp://en.wikipedia.org/wiki/Big_ohhttp://en.wikipedia.org/wiki/Big_ohhttp://en.wikipedia.org/w/index.php?title=Universal_Turing_machine&action=edit&section=5http://en.wikipedia.org/wiki/Claude_Shannonhttp://en.wikipedia.org/wiki/Marvin_Minskyhttp://en.wikipedia.org/wiki/Tag_systemhttp://en.wikipedia.org/wiki/Tag_systemhttp://en.wikipedia.org/wiki/Halting_problemhttp://en.wikipedia.org/wiki/Rice's_theoremhttp://en.wikipedia.org/wiki/Recursive_functionhttp://en.wikipedia.org/wiki/Recursive_languagehttp://en.wikipedia.org/wiki/Recursively_enumerable_languagehttp://en.wikipedia.org/wiki/Church-Turing_thesishttp://en.wikipedia.org/wiki/Turing_completehttp://en.wikipedia.org/wiki/Universal_functionhttp://en.wikipedia.org/wiki/Utm_theoremhttp://en.wikipedia.org/w/index.php?title=Universal_Turing_machine&action=edit&section=4http://en.wikipedia.org/wiki/G%C3%B6del_numberhttp://en.wikipedia.org/wiki/%CE%9C-recursive_functionhttp://en.wikipedia.org/wiki/R._E._Stearnshttp://en.wikipedia.org/wiki/Big_ohhttp://en.wikipedia.org/w/index.php?title=Universal_Turing_machine&action=edit&section=5http://en.wikipedia.org/wiki/Claude_Shannonhttp://en.wikipedia.org/wiki/Marvin_Minskyhttp://en.wikipedia.org/wiki/Tag_systemhttp://en.wikipedia.org/wiki/Tag_system
  • 8/3/2019 Com Put Able Function Atomta Trm Pr

    11/12

    UTMs with m states and n symbols the following tuples have been found: (15, 2), (9, 3), (6, 4),(5, 5), (4, 6), (3, 9), and (2, 18).[4][5][6] Rogozhin's (4, 6) machine uses only 22 instructions, and nostandard UTM of lesser descriptional complexity is known.

    However, generalizing the standard Turing machine model admits even smaller UTMs. One suchgeneralization is to allow an infinitely repeated word on one or both sides of the Turing machine

    input, thus extending the definition of universality and known as "semi-weak" or "weak"universality, respectively. Small weakly universal Turing machines that simulate theRule 110cellular automaton have been given for the (6, 2), (3, 3), and (2, 4) state-symbol pairs.[7]Theproof of universality forWolfram's 2-state 3-symbol Turing machine further extends the notionof weak universality by allowing certain non-periodic initial configurations. Other variants onthe standard Turing machine model that yield small UTMs include machines with multiple tapesor tapes of multiple dimension, and machines coupled with a finite automaton.

    [edit] Example of universal-machine coding

    For those who would undertake the challenge of designing a UTM exactly as Turingspecified see the article by Davies in Copeland (2004:103ff). Davies corrects the errorsin the original and shows what a sample run would look like. He claims to havesuccessfully run a (somewhat simplified) simulation.

    The following example is taken from Turing (1936). For more about this example see the pageTuring machine examples.

    Turing used seven symbols { A, C, D, R, L, N, ; } to encode each 5-tuple; as described in thearticle Turing machine, his 5-tuples are only of types N1, N2, and N3. The number of each "m-configuration" (instruction, state) is represented by "D" followed by a unary string of A's, i.e."q3" = DAAA. In a similar manner he encodes the symbols blank as "D", the symbol "0" is

    "DC", the symbol "1" as DCC, etc. The symbols "R", "L", and "N" remain as is.

    After encoding each 5-tuple is then "assembled" into a string in order as shown in the followingtable:

    FROM WEBSITE

    Finally, the codes for all four 5-tuples are strung together into a code started by ";" and separatedby ";" i.e.:

    ;DADDCRDAA;DAADDRDAAA;DAAADDCCRDAAAA;DAAAADDRDA

    This code he placed on alternate squaresthe "F-squares" -- leaving the "E-squares" (thoseliable to erasure) empty. The final assembly of the code on the tape for the U-machine consists ofplacing two special symbols ("e") one after the other, then the code separated out on alternatesquares, and lastly the double-colon symbol "::" (blanks shown here with "." for clarity):

    ee.;.D.A.D.D.C.R.D.A.A.;.D.A.A.D.D.R.D.A.A.A.;.D.A.A.A.D.D.C.C.R.D.A.A.A.A.;.D.A.A.A.A.D.D.R.D.A.::......

    http://en.wikipedia.org/wiki/Rule_110http://en.wikipedia.org/wiki/Rule_110http://en.wikipedia.org/wiki/Wolfram's_2-state_3-symbol_Turing_machinehttp://en.wikipedia.org/wiki/Finite_automatonhttp://en.wikipedia.org/w/index.php?title=Universal_Turing_machine&action=edit&section=6http://en.wikipedia.org/wiki/Turing_machine_exampleshttp://en.wikipedia.org/wiki/Turing_machinehttp://en.wikipedia.org/wiki/Turing_machinehttp://en.wikipedia.org/wiki/Rule_110http://en.wikipedia.org/wiki/Wolfram's_2-state_3-symbol_Turing_machinehttp://en.wikipedia.org/wiki/Finite_automatonhttp://en.wikipedia.org/w/index.php?title=Universal_Turing_machine&action=edit&section=6http://en.wikipedia.org/wiki/Turing_machine_exampleshttp://en.wikipedia.org/wiki/Turing_machine
  • 8/3/2019 Com Put Able Function Atomta Trm Pr

    12/12

    The U-machine's action-table (state-transition table) is responsible for decoding the symbols.Turing's action table keeps track of its place with markers "u", "v", "x", "y", "z" by placing themin "E-squares" to the right of "the marked symbol" -- for example, to mark the current instructionz is placed to the right of ";" x is keeping the place with respect to the current "m-configuration"DAA. The U-machine's action table will shuttle these symbols around (erasing them and placingthem in different locations) as the computation progresses:

    ee.; .D.A.D.D.C.R.D.A.A. ;zD.A.AxD.D.R.D.A.A.A.;.D.A.A.A.D.D.C.C.R.D.A.A.A.A.;.D.A.A.A.A.D.D.R.D.A.::......

    Turing's action-table for his U-machine is very involved.

    A number of other commentators (notably Penrose 1989) provide examples of ways to encodeinstructions for the Universal machine. As does Penrose, most commentators use only binarysymbols i.e. only symbols { 0, 1 }, or { blank, mark | }. Penrose goes further and writes out hisentire U-machine code (Penrose 1989:7173). He asserts that it truly is a U-machine code, anenormous number that spans almost 2 full pages of 1's and 0's. For readers interested in simplerencodings for the Post-Turing machinethe discussion of Davis in Steen (Steen 1980:251ff) may

    be useful.

    http://en.wikipedia.org/wiki/The_Emperor's_New_Mindhttp://en.wikipedia.org/wiki/Post-Turing_machinehttp://en.wikipedia.org/wiki/Post-Turing_machinehttp://en.wikipedia.org/wiki/The_Emperor's_New_Mindhttp://en.wikipedia.org/wiki/Post-Turing_machine