Sujet : Re: How to write a self-referencial TM?
De : anw (at) *nospam* cuboid.co.uk (Andy Walker)
Groupes : comp.theoryDate : 16. May 2025, 12:22:57
Autres entêtes
Organisation : Not very much
Message-ID : <100776h$3m7q1$1@dont-email.me>
References : 1 2 3 4 5 6 7 8
User-Agent : Mozilla Thunderbird
On 16/05/2025 01:40, Mike Terry wrote:
[...]
[wij's] question "what is the source of such UTM?" seems to be asking
to be pointed to some sample source code for a UTM? I don't have
any! But I'm sure someone somewhere will have gone to all the
trouble of coding an actual UTM, and will have made that available
online somewhere. Note that a UTM is a firstly a TM, but TMs can be
described as text "source code" and someone could have made that
available online.
Perhaps someone else here knows of useful sources for this?
Minsky's "Computation" has on its front cover [at least in the
Open University edition] and inside, as Fig. 7.2.9 on p142, a complete
UTM as a state-transition diagram. ICBA to count [or to look for more
details in the text], but it has ~20 states and uses ~10 symbols. It
would represent perhaps an hour's [routine] work to convert into the
standard quintuples, or a similar amount of work to convert to C. The
text describes fully how an arbitrary TM, expressed as quintuples, and
its input tape, should be represented on the UTM's tape.
In particular, there is no difficulty [and no self-reference]
in describing Minsky's UTM and its tape to Minsky's UTM. It's not
as hard as writing a C compiler in C and compiling it using an extant
C compiler.
Meanwhile, may be worth pointing out that almost everyone here
will be using a UTM right /now/, as you read this. What do you think
is executing your Thunderbird or whichever other mail agent / browser
you are using? We no longer use the hard-wired programs that Turing
and others in the 1930s to 1950s used when developing the theory of
computing and the first computer languages. It must have seemed like
a miracle when the first HLLs enabled us to write descriptions of our
computations and have them executed on a computer. The very idea that
you could have hundreds and thousands of programs stashed away and
execute any of them, perhaps dozens concurrently, on one single machine
conveniently stored in your home or even your pocket would have been
pure fantasy. But the CPU [or near equivalent] in your computer can
take any of those stored programs and run them with whatever files you
supply as input, and even generate new executables from source code
written in any convenient language. Some CPUs can even be switched
from emulating [eg] a Mac to emulating a 386 or whatever. How U do
you need your TMs to be? Of course, such UTMs are a tad more complex
than the UTMs used as examples in CS courses.
-- Andy Walker, Nottingham. Andy's music pages: www.cuboid.me.uk/andy/Music Composer of the day: www.cuboid.me.uk/andy/Music/Composers/Chopin