Deutsch   English   Français   Italiano  
<4bce5af2b2b8cd198af611e5d8d56598cab15b0a.camel@gmail.com>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail
From: wij <wyniijj5@gmail.com>
Newsgroups: comp.theory
Subject: Re: How to write a self-referencial TM?
Date: Fri, 16 May 2025 09:47:50 +0800
Organization: A noiseless patient Spider
Lines: 139
Message-ID: <4bce5af2b2b8cd198af611e5d8d56598cab15b0a.camel@gmail.com>
References: <1e4f1a15826e67e7faf7a3c2104d09e9dadc6f06.camel@gmail.com>
	 <1002akp$2i4bk$2@dont-email.me>
	 <479eebef3bd93e82c8fe363908b254b11d15a799.camel@gmail.com>
	 <1002jkk$2k00a$3@dont-email.me>
	 <05e306f20fcb7c88c497e353aaecd36b30fc752a.camel@gmail.com>
	 <10053hb$3759k$1@dont-email.me>
	 <879b3c552bad9da9885e41a298b570c92bef1aaf.camel@gmail.com>
	 <10061h6$3de5f$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Injection-Date: Fri, 16 May 2025 03:47:51 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="746533a96eeb3cf7efee6378a768121a";
	logging-data="3594709"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX19P+d4rRi6O9LLpWFwe6fbt"
User-Agent: Evolution 3.54.3 (3.54.3-1.fc41)
Cancel-Lock: sha1:7CpvKTBZcnaJ4kebmNJvXzwz7KA=
In-Reply-To: <10061h6$3de5f$1@dont-email.me>
Bytes: 6997

On Fri, 2025-05-16 at 01:40 +0100, Mike Terry wrote:
> On 15/05/2025 19:49, wij wrote:
> > On Thu, 2025-05-15 at 17:08 +0100, Mike Terry wrote:
> > > On 14/05/2025 18:53, wij wrote:
> > > > On Wed, 2025-05-14 at 12:24 -0500, olcott wrote:
> > > > > On 5/14/2025 11:43 AM, wij wrote:
> > > > > > On Wed, 2025-05-14 at 09:51 -0500, olcott wrote:
> > > > > > > On 5/14/2025 12:13 AM, wij wrote:
> > > > > > > > Q: Write a turing machine that performs D function (which c=
alls itself):
> > > > > > > >=20
> > > > > > > > void D() {
> > > > > > > > =C2=A0=C2=A0=C2=A0=C2=A0 D();
> > > > > > > > }
> > > > > > > >=20
> > > > > > > > Easy?
> > > > > > > >=20
> > > > > > > >=20
> > > > > > >=20
> > > > > > > That is not a TM.
> > > > > >=20
> > > > > > It is a C program that exists. Therefore, there must be a equiv=
alent TM.
> > > > > >=20
> > > > > > > To make a TM that references itself the closest
> > > > > > > thing is a UTM that simulates its own TM source-code.
> > > > > >=20
> > > > > > How does a UTM simulate its own TM source-code?
> > > > > >=20
> > > > >=20
> > > > > You run a UTM that has its own source-code on its tape.
> > > >=20
> > > > What is exactly the source-code on its tape?
> > > >=20
> > >=20
> > > Every UTM has some scheme which can be applied to a (TM & input tape)=
 that is to be simulated.=C2=A0
> > > The
> > > scheme says how to turn the (TM + input tape) into a string of symbol=
s that represent that
> > > computation.
> > >=20
> > > So to answer your question, the "source-code on its tape" is the resu=
lt of applying the UTM's
> > > particular scheme to the combination (UTM, input tape) that is to be =
simulated.
> > >=20
> > > If you're looking for the exact string symbols, obviously you would n=
eed to specify the exact
> > > UTM
> > > being used, because every UTM will have a different answer to your qu=
estion.
> > >=20
> > >=20
> > > Mike.
> >=20
> > People used to say UTM can simulate all TM. I was questing such a UTM.
> > Because you said "Every UTM ...", so what is the source of such UTM?
>=20
> Yes, a UTM can simulate any TM including itself.=C2=A0 (Nothing magical c=
hanges when a UTM simulates=20
> itself, as opposed to some other TM.)

Supposed UTM exists, and denoted as U(X), X denotes the tape contents of th=
e
encoding of a TM. And, U(X) should function the same like X.
Given instance U(U(f)), it should function like f from the above definition=
..
But, U(U(f)) would fall into a 'self-reference' trap.

> Your question "what is the source of such UTM?" seems to be asking to be =
pointed to some sample=20
> source code for a UTM?=C2=A0 I don't have any!=C2=A0 But I'm sure someone=
 somewhere will have gone to all the=20
> trouble of coding an actual UTM, and will have made that available online=
 somewhere.=C2=A0 Note that a=20
> UTM is a firstly a TM, but TMs can be described as text "source code" and=
 someone could have made=20
> that available online.
>=20
> Perhaps someone else here knows of useful sources for this?=C2=A0 Otherwi=
se you would need to search for=20
> it with Google or whatever.=C2=A0=C2=A0 IF THIS IS WHAT YOU REALLY WANT, =
which seems unlikely to me.
>=20
> Most people aren't interested in specific source code for an actual UTM, =
because the role of a UTM=20
> is /theoretical/, and most people can /see/ what a UTM needs to do, and h=
ow it can do it, so there=20
> is no doubt in their mind that such a UTM /could/ be written.=C2=A0 I dar=
esay that most programmers could
> easily write one themselves, were it not for the huge burden of having to=
 work within the TM=20
> architecture with only the low level facilities TMs provide.=C2=A0 So the=
y consider it a lot of work, and
> at the end they would have a UTM source code, but /what would they plan t=
o do with it/ ??=C2=A0 You would
> only do all this work if you needed to actually /use/ the UTM, but TMs ar=
e not /intended/ as a=20
> practical programming tool.
>=20
> So... Do you /really/ need an actual UTM source code? I wonder.=C2=A0 Wha=
t do you intend to use it for?
>=20
> If you need to develop/test/debug your own TMs, rather than a UTM source =
code you need some kind of=20
> TM development environment.=C2=A0 I don't know if such a thing exists for=
 serious use!
>=20
> If you're just playing/learning about TMs then probably you really just w=
ant a very basic TM=20
> emulator (NOT a UTM) that can take a TM description and output for you th=
e successive steps of its=20
> execution, showing the tape contents and position of the tape head.=C2=A0=
 Loads of (most?) CS students=20
> will have done this themselves at some point, using their own favourite l=
anguage - you could use=20
> Python, C++, Java, whatever you like.=C2=A0 I once wrote myself one of th=
ese as a play thing in C++ and=20
> it took a few hours perhaps.=C2=A0 (Most of the time was fiddling with ou=
tput formats to make the output=20
> appear in a way I liked.=C2=A0 I got bored eventually!)=C2=A0 You could d=
o this yourself...
>=20
> Or... is it that you don't /understand/ something about UTMs and need con=
vincing?=C2=A0 I think just=20
> explaining what is confusing you and asking questions would be a better w=
ay to go!
>=20
> Mike.

No need to make things such complicated and thus unnecessary long comments.=
=C2=A0
We can simply assume the 'source-code' is machine code, the debuger in ever=
y OS is already a 'UTM'
except it cannot simulate itself....  No UTM exists that can simulate any T=
M including itself.=20