--- David Clark <[EMAIL PROTECTED]> wrote:

> 
> ----- Original Message ----- 
> From: "Matt Mahoney" <[EMAIL PROTECTED]>
> To: <agi@v2.listbox.com>
> Sent: Wednesday, May 09, 2007 7:10 PM
> Subject: Re: [agi] Determinism
> 
> 
> > By simulate, I mean in the formal sense, as a universal Turing machine can
> > simulate any other Turing machine, for example, you can write a program in
> C
> > that runs programs written in Pascal (e.g. a compiler or interpreter).
> Thus,
> > you can predict what the Pascal program will do.
> >
> > Languages like Pascal and C define Turing machines.  They have unlimited
> > memory.  Real machines have finite memory, so you do the simulation
> properly
> > you need to also define the hardware limits of the target machine.  So if
> the
> > real program reports an out of memory error, the simulation should too, at
> > precisely the same point.  Now if the target machine (running Pascal) has
> 2 MB
> > memory, and your machine (running C) has 1 MB, then you can't do it.  Your
> > simulator will run out of memory first.
> 
> My first computer had 32kb of memory.  I know all about doing a lot in very
> little memory.  Lack of memory is about losing time not about the size of
> physical memory.  Virtual memory can be used so that small real memories can
> simulate much bigger memories.  People can simulate absolutely huge systems
> by just running and looking at small parts of a system at a single time.
> Your argument might be true IF you talked about full REAL TIME simulation
> but in general your argument is false.

Perhaps I did not state clearly.  I assume you are familiar with the concept
of a universal Turing machine.  Suppose a machine M produces for each input x
the output M(x) (or {} if it runs forever).  We say a machine U simulates M if
for all x, U(m,x) = M(x), where m is a description of M.  One may construct
universal Turing machines, such that this is true for all M and all x.  You
can think of U as predicting what M will output for x, without actually
running M.   In this sense, U can predict its own computations, e.g. U(u,x) =
U(x) for all x, where u is a description of U.  In other words, U can simulate
itself.

Turing machines have infinite memory.  Real computers have finite memory. 
There is no such thing as a universal finite state machine.  If a machine M
has n states (or log2(n) bits of memory), it is not possible to construct a
machine U with less than n states such that U(m,x) = M(x) for all x.  For some
x, yes.  I assume that is what you mean.  This has nothing to do with speed,
and makes no distinction between memory in RAM or on disk.

> My example used the output from the formula of a line which produces
> infinite results from only a Y intercept and a slope.  You didn't bother to
> show how my analogy was incorrect.

I didn't understand how it was relevant.

> I can predict with high accuracy what I will think on almost any topic.
> People that can't, either don't know much about the principles they use to
> think or aren't very rational.

You can't predict when you will next think of something, because then you are
thinking of it right now.  Maybe you can predict some of your future thoughts,
but not all of them.  Your brain has finite memory.  The best you can do is
use a probabilistic approximation of your own thought processes.


-- Matt Mahoney, [EMAIL PROTECTED]

-----
This list is sponsored by AGIRI: http://www.agiri.org/email
To unsubscribe or change your options, please go to:
http://v2.listbox.com/member/?member_id=231415&user_secret=fabd7936

Reply via email to