It is often said that Turing machines, unlike simpler automata, are
as powerful as real machines, and are able to execute any operation
that a real program can. What is missed in this statement is that
almost any particular program running on a particular machine is in fact nothing but a deterministic finite automaton, since the machine it runs on can only be in finitely many configurations.
Turing machines would actually only be equivalent to a machine that had
an unlimited amount of storage space. We might ask, then, why Turing
machines are useful models of real computers. There are a number of
ways to answer this:
Anything a real computer can compute, a Turing machine can also
compute. For example: "A Turing machine can simulate any type of
subroutine found in programming languages, including recursive
procedures and any of the known parameter-passing mechanisms" (Hopcroft
and Ullman p. 157). Thus, a statement about the limitations of Turing
machines will also apply to real computers.
The difference lies only with the ability of a Turing machine to
manipulate an unbounded amount of data. However, given a finite amount
of time, a Turing machine (like a real machine) can only manipulate a
finite amount of data.
Like a Turing machine, a real machine can have its storage space
enlarged as needed, by acquiring more disks or other storage media. If
the supply of these runs short, the Turing machine may become less
useful as a model. But the fact is that neither Turing machines nor
real machines need astronomical amounts of storage space in order to
perform useful computation. The processing time required is usually
much more of a problem.
Descriptions of real machine programs using simpler abstract models
are often much more complex than descriptions using Turing machines.
For example, a Turing machine describing an algorithm may have a few
hundred states, while the equivalent deterministic finite automaton on a given real machine has quadrillions. This makes the DFA representation infeasible to analyze.
Turing machines describe algorithms independent of how much memory
they use. There is a limit to the memory possessed by any current
machine, but this limit can rise arbitrarily in time. Turing machines
allow us to make statements about algorithms which will (theoretically)
hold forever, regardless of advances in conventional computing machine architecture.
Turing machines simplify the statement of algorithms. Algorithms
running on Turing-equivalent abstract machines are usually more general
than their counterparts running on real machines, because they have
arbitrary-precision data types available and never have to deal with
unexpected conditions (including, but not limited to, running out of
memory).
One way in which Turing machines are a poor model for programs is that many real programs, such as operating systems and word processors,
are written to receive unbounded input over time, and therefore do not
halt. Turing machines do not model such ongoing computation well (but
can still model portions of it, such as individual procedures).
Construction Equipment at Machinery Trader. Backhoes, Excavator, Skid Steer, Forklift, Caterpillar, Komatsu, Volvo, Used Heavy Equipment Sales, Includes auctions, want ads and job postings, message boards and searchable database of specialized in buying and selling used machinery such as used shears, press brakes, lathes, grinders, mills
used farm machinery used woodworking machinery used cnc machinery used machinery for sale
used machinery dealers