Re: How Partial Simulations correctly determine non-halting ---Mike Terry Error

Liste des GroupesRevenir à s logic 
Sujet : Re: How Partial Simulations correctly determine non-halting ---Mike Terry Error
De : news.dead.person.stones (at) *nospam* darjeeling.plus.com (Mike Terry)
Groupes : comp.theory sci.logic
Date : 05. Jun 2024, 22:28:55
Autres entêtes
Message-ID : <sYqdnVoAec4XV_37nZ2dnZfqn_ednZ2d@brightview.co.uk>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
User-Agent : Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0 SeaMonkey/2.53.17
On 05/06/2024 17:49, olcott wrote:
On 6/5/2024 10:55 AM, Mike Terry wrote:
On 05/06/2024 10:38, Ben Bacarisse wrote:
John Smith <news2@immibis.com> writes:
>
Then increase the stack space until it doesn't run out. Turing machines
can't run out of stack space unless you programmed them wrong.
>
A Turing machine can't run out of stack space because there is no stack.
That's like saying a polynomial has limited precision if you evaluate it
badly.  It's the evaluation that's wrong, not the polynomial.  I know
what you mean, but having talked to maths crank on Usenet for years, one
thing I would caution against is being slowly sucked into the cranks bad
use of technical terms.
>
>
Wandering slightly : also, PO's H/HH/etc. (running under x86utm) requires minimal stack space to run - probably just a few KB would suffice, /regardless of recursion depth/.  Given that PO allocates 64KB for the stack, this is not going to be a problem.
>
The reason recusion depth is not a factor is that H /simulates/ D rather than calling it.  The simulation does not consume H's stack space, and neither do nested simulations - they all have their own separately allocated stacks.
>
PO's design uses a single 32-bit address space which must hold ALL levels of nested recursion, so obviously something has to fail as nesting levels grow.  That would be an "out of memory" failure when trying to acquire resource to create a new simulation level.  I.e. a /heap/ error rather than "out of stack".
>
In practice his system would become unusable long before then due to CPU requirements in simulating instructions for each recursion level - that grows exponentially with a factor of (something like) 200 between each level.  So at a recursive simulation depth of just 10, a single instruction would take something like 100,000,000,000,000,000,000,000 outer level instructions to simulate, which is just impractical.
>
>
Mike.
>
 Thank you very much for being the voice of correct reasoning here.
I just figured out how to handle your objection to my HH code.
 My idea was to have the executed HH pass a portion of what is
essentially its own Turing Machine tape down to the simulated
instances of HH. It does do this now.
What happens now is that there is one single trace array in global memory, and all simulations appends simulated instructions to that one array and can read array entries written by other simulation levels.  That fundamentally breaks the concept of a simulation exactly matching the behaviour of the outer (unsimulated) computation.  More details below...
[but the problem is I don't believe you really understand what the requirements of simulation are, because if you did you simply wouldn't have written code like that in the first place...]
And calling it "a portion of what is essentially its own TM tape" is just obfuscation to try to hide the obvious breaking of rules.

 The key objection that you seemed to have is that it can't pass
any information to its simulated instance that they can use in
their own halt status decision.
Partly right but woefully incomplete.  If you added "...or to modify its logical behaviour in any way" that would be a good summing up.
Your specific focus on just "their own halt status decision" is only one part of the picture - my guess would be you know "the rules" but for whatever reason the only solution you can come up with breaks the rules, so you try to convince yourself that that's ok by changing the rules.
More specifically, the behaviour of a simulated HH must exactly[*] match the behaviour of the outer (unsimulated) HH.
Behaviour means all of the following:
-  the instruction path of simulated HH exactly matches the instruction path
    of the outer HH.  [Currently HH has different code paths for simulated/
    outer execution!  It is not enough that you /believe/ this will not affect "the result".]
-  registers and all data and data locations used by the simulation must match the registers
    and data and data addresses used by the outer HH. [*]
-  no backdoor channels where a nested simulation feeds data to a nesting simulation or vice versa. Obviously an outer simulation can "scrape" data from it's directly simulated computation.
[*] exactly match??  A big headache is that you've chosen a model where all the simulations share one 32-bit address space.  So simulation working data will be at different locations to the outer working data.  IF your code acts "responsibly" this can be catered for.  E.g. simulated data on stacks will be at different addresses for each simulation - but still the location of the data within the stack and their values should /exactly/ [*] match across all simulations.  Similarly a call to Allocate() will return different results in each simulation, but the location of all data used by the simulation relative to that allocation address should match, and the value of the data should match [* allowing for pointer mismatches etc.].  Near the end of this post I give some rules for code that acts "responsibly" - those rules try to ensure these address relocation problems don't affect arguments you make.

 None of the simulated instances ever did this,
The inner simulations examined a succession of trace entries written by other simulation levels. That is wrong.  I think you've convinced yourself they didn't do anything wrong, because you've decided to focus only on "affect their own halt status decision", but that's not the requirement.

yet I can make
this more clear. As soon as they are initialized they can store
their own first location of this tape and never look at any
location before their own first location. In this case they
would never get a chance to look any data from the outer
simulations that they can use to change their own behavior.
I think I understand what you're thinking, and
a)  you are just trying to replace one Wrong with another Wrong that you
     hope will be given a tick by someone, rather than looking at what
     a simulation needs to be, and implementing it logically
b)  it won't work
As for (a):  What I think you're proposing is to still have the global trace table, initialised by the outer HH, and still have different code paths followed by inner and outer simulations.  That's all No Good.
As for (b): I think you intend each inner simulation to be told where it is starting in the global trace, so that when it inspects it, it can start from its own starting point.  The problem is that all simulations append to the table beyond that point, so a given simulation will /still/ be seeing entries directly added by other simulation levels.
In effect you're still trying to keep the shared mutable static data idea that breaks all 3 of the "proper simulation" requirements I laid out above.
Why would you want to do that rather than fix the obvious design flaw itself?  I even explained some time ago how to do that properly, but you're presenting yourself as some kind of master "Software Engineer" and yet you can't work that out for yourself?  I'd guess it should be perhaps a days programming effort...
Anyway, the correct approach should obviously be for each simulation to maintain its own trace table which is only written to and read by itself.  [Obviously, outer simulations could work out where that virtual table was implemented and /scrape/ data out of it if they wanted to.  But those outer simulations would have their own trace tables with the data relevant for their processing.  What's more, the code paths and behaviours of HH in each simulation level would be identical which is a basic simulation requirement.

 I will implement this in code sometime later today and publish
this code to my repository.
 The only issue left that seems to not matter is that each simulated
HH needs to see if it must initialize its own tape. Since this
has no effect on its halt status decision I don't think it makes
any difference.
That's wrong thinking.  Each simulation level must be exactly the same as the outer one.  Not just in terms of "their halt status decision" but in terms of code paths, data values accessed  [* qualified as explained above due to data relocation issues in your environment].
Look - if the outer HH has to initialise a variable, the inner HHs have to initialise that same variable, because it is THEIR implementation of that variable, within THEIR virtual address space provided by their simulator.  Your problem comes because you insist on trying to SHARE DATA ACROSS SIMULATIONS.
Just follow the simple and rather obvious rules like:
-  no mutable static data.  All mutable data should be anchored within the
    simulations stack.
-  when pointers are involved, the pointer values should only be used
    within code to be dereferenced and access the "actual" data stored
    at that location.  [and apply this rule recursively if required!]
static const data should be ok I think, as it's akin to how a TM would implement a "literal value" in its program.

 I will double check everything to make sure there is no data passed
from the outer simulations to the inner simulations that can possibly
be used for any halt status decision by these inner simulated
instances of HH.
..OR affect the code path blah blah.  Your focus on /just/ the halt status decision is not enough. And anyhow you /know/ that the /only/ data passed to inner simulations must be the code to be simulated, and the input data arguments (simulating DD(DD) that is the code of DD and the DD argument).  NOTHING ELSE, regardless of what it affects...
Mike.

Date Sujet#  Auteur
3 Jun 24 * Why does Olcott care about simulation, anyway?172immibis
3 Jun 24 +* Re: Why does Olcott care about simulation, anyway?2Richard Damon
3 Jun 24 i`- Re: Why does Olcott care about simulation, anyway?1wij
3 Jun 24 +* Re: Why does Olcott care about simulation, anyway?149Mike Terry
3 Jun 24 i+* Re: Why does Olcott care about simulation, anyway? --- Mikes Review19olcott
3 Jun 24 ii+- Re: Why does Olcott care about simulation, anyway? --- Mikes Review1Richard Damon
3 Jun 24 ii+- Re: Why does Olcott care about simulation, anyway? --- Mikes Review1immibis
3 Jun 24 ii`* Re: Why does Olcott care about simulation, anyway? --- Mikes Review16Mike Terry
3 Jun 24 ii `* Re: Why does Olcott care about simulation, anyway? --- Mikes Review15olcott
4 Jun 24 ii  +- Re: Why does Olcott care about simulation, anyway? --- Mikes Review1Richard Damon
4 Jun 24 ii  `* Re: Why does Olcott care about simulation, anyway? --- Mikes Review13Mike Terry
4 Jun 24 ii   `* Re: Why does Olcott care about simulation, anyway? --- Mikes Review12olcott
4 Jun 24 ii    `* Re: Why does Olcott care about simulation, anyway? --- Mikes Review11Richard Damon
4 Jun 24 ii     `* Re: Why does Olcott care about simulation, anyway? --- Mikes Review10olcott
4 Jun 24 ii      +* Re: Why does Olcott care about simulation, anyway? --- Mikes Review3Richard Damon
4 Jun 24 ii      i`* Re: Why does Olcott care about simulation, anyway? --- Mikes Review2olcott
5 Jun 24 ii      i `- Re: Why does Olcott care about simulation, anyway? --- Mikes Review1Richard Damon
4 Jun 24 ii      `* Re: Why does Olcott care about simulation, anyway? --- Mikes Review6Mike Terry
4 Jun 24 ii       `* Re: Why does Olcott care about simulation, anyway? --- Mikes Review5olcott
4 Jun 24 ii        +* Re: Why does Olcott care about simulation, anyway? --- Mikes Review3Richard Damon
4 Jun 24 ii        i`* Re: Why does Olcott care about simulation, anyway? --- Mikes Review2olcott
5 Jun 24 ii        i `- Re: Why does Olcott care about simulation, anyway? --- Mikes Review1Richard Damon
4 Jun 24 ii        `- Re: Why does Olcott care about simulation, anyway? --- Mikes Review1immibis
3 Jun 24 i+- Re: Why does Olcott care about simulation, anyway?1wij
3 Jun 24 i+- Re: Why does Olcott care about simulation, anyway?1wij
3 Jun 24 i`* Re: Why does Olcott care about simulation, anyway?127Ben Bacarisse
3 Jun 24 i +* Re: Why does Olcott care about simulation, anyway? --- Ben's Review125olcott
3 Jun 24 i i+- Re: Why does Olcott care about simulation, anyway? --- Ben's Review1immibis
3 Jun 24 i i+* Re: Why does Olcott care about simulation, anyway? --- Ben's Review85Fred. Zwarts
3 Jun 24 i ii`* Mike Terry Reply to Fred Zwarts84olcott
4 Jun 24 i ii +* Re: Mike Terry Reply to Fred Zwarts82Fred. Zwarts
4 Jun 24 i ii i`* Re: Mike Terry Reply to Fred Zwarts81Fred. Zwarts
4 Jun 24 i ii i `* Re: Mike Terry Reply to Fred Zwarts80Mike Terry
4 Jun 24 i ii i  `* How Partial Simulations correctly determine non-halting ---Mike Terry Error79olcott
5 Jun 24 i ii i   +* Re: How Partial Simulations correctly determine non-halting ---Mike Terry Error28John Smith
5 Jun 24 i ii i   i`* Re: How Partial Simulations correctly determine non-halting ---Mike Terry Error27olcott
5 Jun 24 i ii i   i `* Re: How Partial Simulations correctly determine non-halting ---Mike Terry Error26John Smith
5 Jun 24 i ii i   i  `* Re: How Partial Simulations correctly determine non-halting ---Mike Terry Error25olcott
5 Jun 24 i ii i   i   `* Re: How Partial Simulations correctly determine non-halting ---Mike Terry Error24John Smith
5 Jun 24 i ii i   i    +* Re: How Partial Simulations correctly determine non-halting ---Mike Terry Error5olcott
5 Jun 24 i ii i   i    i`* Re: How Partial Simulations correctly determine non-halting ---Mike Terry Error4John Smith
5 Jun 24 i ii i   i    i `* Re: How Partial Simulations correctly determine non-halting ---Mike Terry Error3olcott
5 Jun 24 i ii i   i    i  +- Re: How Partial Simulations correctly determine non-halting ---Mike Terry Error1joes
6 Jun 24 i ii i   i    i  `- Re: How Partial Simulations correctly determine non-halting ---Mike Terry Error1Richard Damon
5 Jun 24 i ii i   i    `* Re: How Partial Simulations correctly determine non-halting ---Mike Terry Error18Ben Bacarisse
5 Jun 24 i ii i   i     +* Re: How Partial Simulations correctly determine non-halting --- Ben's strawman deception2olcott
7 Jun 24 i ii i   i     i`- Re: How Partial Simulations correctly determine non-halting --- Ben's strawman deception1olcon'tt
5 Jun 24 i ii i   i     `* Re: How Partial Simulations correctly determine non-halting ---Mike Terry Error15Mike Terry
5 Jun 24 i ii i   i      `* Re: How Partial Simulations correctly determine non-halting ---Mike Terry Error14olcott
5 Jun 24 i ii i   i       +* Re: How Partial Simulations correctly determine non-halting ---Mike Terry Error6John Smith
5 Jun 24 i ii i   i       i+* Re: How Partial Simulations correctly determine non-halting ---Mike Terry Error2olcott
5 Jun 24 i ii i   i       ii`- Re: How Partial Simulations correctly determine non-halting ---Mike Terry Error1joes
6 Jun 24 i ii i   i       i`* Re: How Partial Simulations correctly determine non-halting ---Mike Terry Error3Mike Terry
6 Jun 24 i ii i   i       i `* Re: How Partial Simulations correctly determine non-halting ---Mike Terry Error !!!2olcott
6 Jun 24 i ii i   i       i  `- Re: How Partial Simulations correctly determine non-halting ---Mike Terry Error !!!1Richard Damon
5 Jun 24 i ii i   i       `* Re: How Partial Simulations correctly determine non-halting ---Mike Terry Error7Mike Terry
6 Jun 24 i ii i   i        `* Re: How Partial Simulations correctly determine non-halting ---Mike Terry Error6olcott
6 Jun 24 i ii i   i         `* Re: How Partial Simulations correctly determine non-halting ---Mike Terry Error5Mike Terry
7 Jun 24 i ii i   i          `* Re: How Partial Simulations correctly determine non-halting ---Mike Terry Error4olcott
7 Jun 24 i ii i   i           +- Re: How Partial Simulations correctly determine non-halting ---Mike Terry Error1Richard Damon
7 Jun 24 i ii i   i           `* Re: How Partial Simulations correctly determine non-halting ---Mike Terry Error2olcott
7 Jun 24 i ii i   i            `- Re: How Partial Simulations correctly determine non-halting ---Mike Terry Error1Richard Damon
5 Jun 24 i ii i   +- Re: How Partial Simulations correctly determine non-halting ---Mike Terry Error1Richard Damon
5 Jun 24 i ii i   `* Re: How Partial Simulations correctly determine non-halting ---Mike Terry Error49olcott
6 Jun 24 i ii i    +- Re: How Partial Simulations correctly determine non-halting ---Mike Terry Error1Richard Damon
6 Jun 24 i ii i    `* Re: How Partial Simulations correctly determine non-halting ---Mike Terry Error47olcott
7 Jun 24 i ii i     +* Re: How Partial Simulations correctly determine non-halting ---Ben's 10/2022 analysis45olcott
7 Jun 24 i ii i     i+* Re: How Partial Simulations correctly determine non-halting ---Ben's 10/2022 analysis13Python
7 Jun 24 i ii i     ii`* Re: How Partial Simulations correctly determine non-halting ---Ben's 10/2022 analysis12olcott
7 Jun 24 i ii i     ii +* Re: How Partial Simulations correctly determine non-halting ---Ben's 10/2022 analysis7Python
7 Jun 24 i ii i     ii i`* Re: How Partial Simulations correctly determine non-halting ---Ben's 10/2022 analysis6olcott
7 Jun 24 i ii i     ii i +- Re: How Partial Simulations correctly determine non-halting ---Ben's 10/2022 analysis1Richard Damon
7 Jun 24 i ii i     ii i `* Re: How Partial Simulations correctly determine non-halting ---Ben's 10/2022 analysis4olcott
7 Jun 24 i ii i     ii i  +- Re: How Partial Simulations correctly determine non-halting ---Ben's 10/2022 analysis1Richard Damon
8 Jun 24 i ii i     ii i  `* Re: How Partial Simulations correctly determine non-halting ---Ben's 10/2022 analysis ---2olcott
8 Jun 24 i ii i     ii i   `- Re: How Partial Simulations correctly determine non-halting ---Ben's 10/2022 analysis ---1Richard Damon
7 Jun 24 i ii i     ii +- Re: How Partial Simulations correctly determine non-halting ---Ben's 10/2022 analysis1Richard Damon
7 Jun 24 i ii i     ii `* Re: How Partial Simulations incorrectly determine non-halting ---Ben's 10/2022 analysis3olcott
7 Jun 24 i ii i     ii  +- Re: How Partial Simulations incorrectly determine non-halting ---Ben's 10/2022 analysis1news2
7 Jun 24 i ii i     ii  `- Re: How Partial Simulations incorrectly determine non-halting ---Ben's 10/2022 analysis1Richard Damon
7 Jun 24 i ii i     i+- Re: How Partial Simulations correctly determine non-halting ---Ben's 10/2022 analysis1Richard Damon
7 Jun 24 i ii i     i+* Re: How Partial Simulations correctly determine non-halting ---Ben's 10/2022 analysis24olcott
7 Jun 24 i ii i     ii+- Re: How Partial Simulations correctly determine non-halting ---Ben's 10/2022 analysis1Richard Damon
8 Jun 24 i ii i     ii`* Re: How Partial Simulations correctly determine non-halting ---Should I quit Richard at this point?22olcott
8 Jun 24 i ii i     ii `* Re: How Partial Simulations correctly determine non-halting ---Should I quit Richard at this point?21Richard Damon
8 Jun 24 i ii i     ii  `* Re: How Partial Simulations correctly determine non-halting ---Should I quit Richard at this point?20olcott
8 Jun 24 i ii i     ii   `* Re: How Partial Simulations correctly determine non-halting ---Should I quit Richard at this point?19Richard Damon
8 Jun 24 i ii i     ii    `* Re: How Partial Simulations correctly determine non-halting ---Should I quit Richard at this point?18olcott
8 Jun 24 i ii i     ii     `* Re: How Partial Simulations correctly determine non-halting ---Should I quit Richard at this point?17Richard Damon
8 Jun 24 i ii i     ii      `* Re: How Partial Simulations correctly determine non-halting ---Should I quit Richard at this point?16olcott
8 Jun 24 i ii i     ii       `* Re: How Partial Simulations correctly determine non-halting ---Should I quit Richard at this point?15Richard Damon
8 Jun 24 i ii i     ii        `* Re: How Partial Simulations correctly determine non-halting ---Should I quit Richard at this point?14olcott
8 Jun 24 i ii i     ii         `* Re: How Partial Simulations correctly determine non-halting ---Should I quit Richard at this point?13Richard Damon
8 Jun 24 i ii i     ii          `* Re: How Partial Simulations correctly determine non-halting ---Should I quit Richard at this point?12olcott
8 Jun 24 i ii i     ii           `* Re: How Partial Simulations correctly determine non-halting ---Should I quit Richard at this point?11Richard Damon
8 Jun 24 i ii i     ii            `* Re: How Partial Simulations correctly determine non-halting ---Should I quit Richard at this point?10olcott
8 Jun 24 i ii i     ii             `* Re: How Partial Simulations correctly determine non-halting ---Should I quit Richard at this point?9Richard Damon
8 Jun 24 i ii i     ii              `* Re: How Partial Simulations correctly determine non-halting ---Should I quit Richard at this point?8olcott
9 Jun 24 i ii i     ii               `* Re: How Partial Simulations correctly determine non-halting ---Should I quit Richard at this point?7Richard Damon
9 Jun 24 i ii i     ii                `* Re: How Partial Simulations correctly determine non-halting ---Should I quit Richard at this point?6olcott
9 Jun 24 i ii i     ii                 `* Re: How Partial Simulations correctly determine non-halting ---Should I quit Richard at this point?5Richard Damon
7 Jun 24 i ii i     i`* Re: How Partial Simulations correctly determine non-halting ---Ben's 10/2022 analysis6joes
7 Jun 24 i ii i     `- Re: How Partial Simulations correctly determine non-halting ---Mike Terry Error1Richard Damon
4 Jun 24 i ii `- Re: Mike Terry Reply to Fred Zwarts1Fred. Zwarts
4 Jun 24 i i+- Re: Why does Olcott care about simulation, anyway? --- Ben's Review1Richard Damon
4 Jun 24 i i`* Halting Problem is wrong two different ways37olcott
3 Jun 24 i `- Re: Why does Olcott care about simulation, anyway?1Mike Terry
3 Jun 24 `* Re: Why does Olcott care about simulation, anyway?20Fred. Zwarts

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal