|
In computability theory, a system of data-manipulation rules (such as a computer's instruction set, a programming language, or a cellular automaton) is said to be Turing complete or computationally universal if it can be used to simulate any single-taped Turing machine. The concept is named after English mathematician Alan Turing. A classic example is lambda calculus. A closely related concept is that of Turing equivalence two computers P and Q are called equivalent if P can simulate Q and Q can simulate P. According to the Church–Turing thesis, which conjectures that the Turing machines are the most powerful computing machines, for every real-world computer there exists a Turing machine that can simulate its computational aspects.〔A UTM cannot simulate non-computational aspects such as I/O.〕 Universal Turing machines can simulate any Turing machine and by extension the computational aspects of any possible real-world computer. To show that something is Turing complete, it is enough to show that it can be used to simulate some Turing complete system. For example, an imperative language is Turing complete if it has conditional branching (''e.g.'', "if" and "goto" statements, or a "branch if zero" instruction. See OISC) and the ability to change an arbitrary amount of memory locations (''e.g.'', the ability to maintain an arbitrary number of variables). Since this is almost always the case, most (if not all) imperative languages are Turing complete if the limitations of finite memory are ignored. == Non-mathematical usage == In colloquial usage, the terms "Turing complete" or "Turing equivalent" are used to mean that any real-world general-purpose computer or computer language can approximately simulate the computational aspects of any other real-world general-purpose computer or computer language. Real computers constructed so far are essentially similar to a single-tape Turing machine; thus the associated mathematics can apply by abstracting their operation far enough. However, real computers have limited physical resources, so they are only linear bounded automaton complete. In contrast, a universal computer is defined as a device with a Turing complete instruction set, infinite memory, and infinite available time. 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Turing completeness」の詳細全文を読む スポンサード リンク
|