Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

Besides, I think Slackware sounds better than 'Microsoft,' don't you? -- Patrick Volkerding


computers / comp.theory / Re: Category error [ HEAD GAMES ] (TM design)

Re: Category error [ HEAD GAMES ] (TM design)

<8SKhK.460$3Gzd.56@fx96.iad>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=32674&group=comp.theory#32674

  copy link   Newsgroups: comp.theory
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx96.iad.POSTED!not-for-mail
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
Gecko/20100101 Thunderbird/91.9.0
Subject: Re: Category error [ HEAD GAMES ] (TM design)
Content-Language: en-US
Newsgroups: comp.theory
References: <20220514170555.00004550@reddwarf.jmc>
<t5qg8m$rlp$1@dont-email.me> <-YWdnXUTXaNq_Rn_nZ2dnUU7_8zNnZ2d@giganews.com>
<87ee0qq2lr.fsf@bsb.me.uk> <EuidnURwxcY6vhj_nZ2dnUU7_8zNnZ2d@giganews.com>
<87o7zu8hk8.fsf@bsb.me.uk> <04qdnQ2ArKr2Bhj_nZ2dnUU7_83NnZ2d@giganews.com>
<87a6bd91n1.fsf@bsb.me.uk> <RuGdnaqBNspG-xv_nZ2dnUU7_8zNnZ2d@giganews.com>
<874k1l8h4u.fsf@bsb.me.uk> <Y7idnfd_v--hARv_nZ2dnUU7_83NnZ2d@giganews.com>
<87pmk96oho.fsf@bsb.me.uk> <nOudnWReB9ozfBv_nZ2dnUU7_83NnZ2d@giganews.com>
<87ee0p6n4s.fsf@bsb.me.uk> <XbadnfDtZoa1bxv_nZ2dnUU7_83NnZ2d@giganews.com>
<87zgjd55i7.fsf@bsb.me.uk> <KfGdneynl8aSahv_nZ2dnUU7_8zNnZ2d@giganews.com>
<87tu9k6gx2.fsf@bsb.me.uk> <2c6dnWpNOpoTlBr_nZ2dnUU7_8zNnZ2d@giganews.com>
From: Rich...@Damon-Family.org (Richard Damon)
In-Reply-To: <2c6dnWpNOpoTlBr_nZ2dnUU7_8zNnZ2d@giganews.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 294
Message-ID: <8SKhK.460$3Gzd.56@fx96.iad>
X-Complaints-To: abuse@easynews.com
Organization: Forte - www.forteinc.com
X-Complaints-Info: Please be sure to forward a copy of ALL headers otherwise we will be unable to process your complaint properly.
Date: Fri, 20 May 2022 07:22:44 -0400
X-Received-Bytes: 10738
 by: Richard Damon - Fri, 20 May 2022 11:22 UTC

On 5/19/22 11:22 PM, olcott wrote:
> On 5/19/2022 10:07 PM, Ben wrote:
>> olcott <NoOne@NoWhere.com> writes:
>>
>>> On 5/19/2022 8:58 PM, Ben wrote:
>>>> olcott <NoOne@NoWhere.com> writes:
>>>>
>>>>> On 5/19/2022 7:52 PM, Ben wrote:
>>>>>> olcott <NoOne@NoWhere.com> writes:
>>>>>>
>>>>>>> On 5/19/2022 7:23 PM, Ben wrote:
>>>>>>>> olcott <NoOne@NoWhere.com> writes:
>>>>>>>>
>>>>>>>>>> H(P,P) == false is wrong about the halting of P(P) and the
>>>>>>>>>> trace does
>>>>>>>>>> not back-up what you say your H is doing.  There's nothing
>>>>>>>>>> left here.
>>>>>>>>>> But there's always the TM emulator...  How's that coming along?
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> There are about two lines of code that are out-of-place. I have
>>>>>>>>> been
>>>>>>>>> ill and had other issues that I had to deal with.
>>>>>>>>
>>>>>>>> So maybe another month or so and you can start to write a parity
>>>>>>>> checking TM?  Those out-of-place lines can be a bugger to find ;-)
>>>>>>>
>>>>>>> I planned on having this done by now. The problem seems to be
>>>>>>> that the
>>>>>>> specification of the state transition function is not precise
>>>>>>> enough.
>>>>>> Unlikely.
>>>>>>
>>>>>>> A transition rule of a Turing machine has the following form
>>>>>>> δ(p, X) = (q, Y, L).
>>>>>>>
>>>>>>> pXYqL
>>>>>>> This means that from state p, on reading the symbol X on the tape,
>>>>>>>      the machine moves to state q,
>>>>>>>      replaces X with Y and
>>>>>>>      moves the tape head to the left.
>>>>>>>
>>>>>>>      void move_left();    // Tape_Head--; Left.push_back(0); as
>>>>>>> needed
>>>>>>>      void move_right();   // Tape_Head++; Left.push_back(0); as
>>>>>>> needed
>>>>>>>      void Write(tape_element Y){ this->operator[](Tape_Head) = Y; };
>>>>>>>      tape_element Read()       { return
>>>>>>> this->operator[](Tape_Head); };
>>>>>>>
>>>>>>> For example, the quintuple 'SCcsm' is executed by the machine:
>>>>>>> If it is in state 'S' and is reading the symbol 'C' on the tape then
>>>>>>> (a) make a transition to state 's'.
>>>>>>> (b) overwrite the symbol 'C' on the tape with the symbol 'c'.
>>>>>>> (c) move the tape reading head one symbol to the left or right
>>>>>>>         according to whether 'm' is 'l' or 'r'.
>>>>>>>
>>>>>>> When I implement it exactly as specified the behavior of my TM on
>>>>>>> the
>>>>>>> Paren.tm is not the same as the original TM.exe.
>>>>>>
>>>>>> It's called a bug.  I am amazed that your reaction to the fact
>>>>>> that your
>>>>>> program does not do what it should is that the specification is
>>>>>> wrong.
>>>>>> It's just a common or garden bug.
>>>>>
>>>>> I do all of the steps in the exact order that they are specified and
>>>>> it does not work. The problem is that the spec is vague on which input
>>>>> symbol is required for the state transition.
>>>>
>>>> I see nothing vague about it.  δ(p, X) = (q, Y, L) means that in state
>>>> p, with X at the tape head, replace the X with Y, move the head left
>>>> and enter state q.
>>>
>>> That does not actually work.
>>
>> It's the definition of the state transition function.  It is what it
>> is.  Here is the TM you talked about (paren.tm) accepting a string:
>>
>> $ ./tm -f paren.tm "(())"
>>         0
>> ______________________________[0|(]())___________________________
>>         1
>> _____________________________([0|(]))____________________________
>>         2
>> ____________________________(([0|)])_____________________________
>>         3
>> _____________________________([1|(]A)____________________________
>>         4
>> ____________________________(A[0|A])_____________________________
>>         5
>> ___________________________(AA[0|)]______________________________
>>         6
>> ____________________________(A[1|A]A_____________________________
>>         7
>> _____________________________([1|A]AA____________________________
>>         8
>> ______________________________[1|(]AAA___________________________
>>         9
>> _____________________________A[0|A]AA____________________________
>>        10
>> ____________________________AA[0|A]A_____________________________
>>        11
>> ___________________________AAA[0|A]______________________________
>>        12
>> __________________________AAAA[0|_]______________________________
>>        13
>> ___________________________AAA[2|A]______________________________
>>        14
>> ____________________________AA[2|A]A_____________________________
>>        15
>> _____________________________A[2|A]AA____________________________
>>        16
>> ______________________________[2|A]AAA___________________________
>>        17
>> ______________________________[2|_]AAAA__________________________
>>        18
>> ______________________________[Y|A]AAA___________________________
>> accept after 18 steps.
>>
>
> I can't quote tell what that says. The original TM.exe provides a good
> trace.

Not even knowing his program I can read it.

In the middle is the current state in brackets []

to the left of that is the tape to the left of the head.

to the right of that is the tape under the head and to the right.

Thus the first line says we started in state 0, with a tape that says ((()))

And the first instruction stayed in state 0, and moved to the write
without changing the tape (or writing a ( over the existing ( )
>
>
> tm> read tm paren
> tm> set tape ((()))
> tm> set trace tape
> tm> go
>
> ((()))
> ^
>     state: 0,  next quint: 0((0R

We are in 0, tape is ( quint is 0((0R
so change the tape at this spot to ( (no change), go to state 0, and
move tape to the right.

> ((()))
> ^
>     state: 0,  next quint: 0((0R
> ((()))
> ^
>     state: 0,  next quint: 0((0R
> ((()))
>   ^
>     state: 0,  next quint: 0)A1L

A change, state 0 with tape being ), this quint is 0)A1L
so switch to state 1, replace the ) with an A and move left

>
> (((A))
>  ^
>     state: 1,  next quint: 1(A0R

Now in state 1, with tape being (, this quint is 1(A0R

go back to state 0, change the ( to an A, and move left.

That is action exactly per the specifications, even if you don't
understand them.

> ((AA))
>   ^
>     state: 0,  next quint: 0AA0R
> ((AA))
>     ^
>     state: 0,  next quint: 0)A1L
> ((AAA)
>    ^
>     state: 1,  next quint: 1AA1L
> ((AAA)
>   ^
>     state: 1,  next quint: 1AA1L
> ((AAA)
>  ^
>     state: 1,  next quint: 1(A0R
> (AAAA)
>   ^
>     state: 0,  next quint: 0AA0R
> (AAAA)
>    ^
>     state: 0,  next quint: 0AA0R
> (AAAA)
>     ^
>     state: 0,  next quint: 0AA0R
> (AAAA)
>      ^
>     state: 0,  next quint: 0)A1L
> (AAAAA
>     ^
>     state: 1,  next quint: 1AA1L
> (AAAAA
>    ^
>     state: 1,  next quint: 1AA1L
> (AAAAA
>   ^
>     state: 1,  next quint: 1AA1L
> (AAAAA
>  ^
>     state: 1,  next quint: 1AA1L
> (AAAAA
> ^
>     state: 1,  next quint: 1(A0R
> AAAAAA
>  ^
>     state: 0,  next quint: 0AA0R
> AAAAAA
>   ^
>     state: 0,  next quint: 0AA0R
> AAAAAA
>    ^
>     state: 0,  next quint: 0AA0R
> AAAAAA
>     ^
>     state: 0,  next quint: 0AA0R
> AAAAAA
>      ^
>     state: 0,  next quint: 0AA0R
> AAAAAA
>       ^
>     state: 0,  next quint: 0  2L
> AAAAAA
>      ^
>     state: 2,  next quint: 2AA2L
> AAAAAA
>     ^
>     state: 2,  next quint: 2AA2L
> AAAAAA
>    ^
>     state: 2,  next quint: 2AA2L
> AAAAAA
>   ^
>     state: 2,  next quint: 2AA2L
> AAAAAA
>  ^
>     state: 2,  next quint: 2AA2L
> AAAAAA
> ^
>     state: 2,  next quint: 2AA2L
>  AAAAAA
> ^
>     state: 2,  next quint: 2  YR
>  AAAAAA
>  ^
>     state: Y,  next quint: (none)
> Halted in final state Y
> tm>
>
>
>> What states does your interpreter show the TM going through?
>>
>>>>> The second spec says transition specifies this:
>>>>>       Quintuple QT(current_state->state, Tape.Read());
>>>>> and that does not work.
>>>>
>>>> People will help you debug the code if you post it.  And if you think
>>>> there is something vague, ask for clarification.
>>>
>>> I want to do this only my own.
>>
>> I wish you well.
>
> It has my highest development priority.
> Personal matters have a higher priority.
>
> I have been just a little too weak to handle those personal matters.
> I expect to be better by tomorrow when my immune system starts to
> return. There are two days in every chemo cycle when I have zero immune
> system. Yesterday was one of these days.
>
>>
>>>> The code fragment you posted some while back was all wrong, but I
>>>> imagine you've moved on from that now.
>>
>
>

SubjectRepliesAuthor
o Category error

By: Mr Flibble on Sat, 14 May 2022

280Mr Flibble
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor