Re: Implementation

From: Christopher Maloney <dude.domain.name.hidden>
Date: Fri, 23 Jul 1999 21:55:44 -0400

Marchal wrote:
>
> Chris wrote:
>
> >[...] Computation
> >supervenes on physical structures, but you must take the entire
> >physical structure into account, including parts that happen to
> >be inactive during a particular run. Those parts change the
> >counterfactuals, and thus change the program.
>
> At least I am relieved, you don't take Olympia (which, as Maudlin makes
> clear, is the whole setting including the inactive Klaras) for a zombie.
>
> And you believe that the absence or presence of an inactive block makes
> the
> consciousness absent or present (during that particular execution).
>
> How could an inactive block be need for a conscious experience to be
> present during a singular execution ?

Simple. It's because, as I've said and as Jacques has said, the
inactive block changes the program. But let me be explicit --
after all, you're the one who told me to buy these books on
computationalism, I might as well bludgeon you with them.

Suppose we start out with a simple Turing machine that implements
the NAND function. It operates on two locations in a tape, called
L0 and L1. After the program is finished, L0 will be replaced
with (L0 initial) NAND (L1 initial), and L1 will be replaced with
zero. The state diagram of this machine would look like this:

       0 right write0 left write1
   S0 ----------> S1 --------> S2 ------> S3 --------> S7
    | ^ ^
    | 1 right 0 write0 | |
    |-----------> S4 ----------| |
                   | |
                   | 1 write0 left write0 |
                   |-----------> S5 ------> S6 ---------|

It works like this: the top chain of states, S1, S2, and S3,
record that the result of the NAND operation is a 1, meaning
that either L0 or L1 initially contained a 0. So if L0
initially contains a 0, then the machine will go from S0 to
S1, and will move right one space. In its second operation,
it always writes a zero into location L1.

You can see that for inputs L0 = 0, L1 = (don't care), the
states are S0, S1, S2, S3, S7. The result of the NAND
operation (1) is written into L0 on the transition S3 -> S7.
For inputs L0 = 1, L1 = 0, the states are S0, S4, S2, S3, S7.
Again, the result of the NAND is 1 and is written on the
transition S3 -> S7. For inputs L0 = 1, L1 = 1, the states
are S0, S4, S5, S6, S7, and the result of the NAND is a 1,
which is written during the transition S6 -> S7.
(Sorry for the excrutiating detail, but I want to make sure
that my notation is clear).

We can write the computation performed by this device as:
    L0 <- L0 NAND L1
    L1 <- 0

Now let's consider, as our reference run, the inputs L0 = 0,
L1 = 1. A detailed breakdown of the activity during this run
is:

    Time | State | Focus | L0 | L1 | Operation
   ------|-------|-------|----|----|-----------
      0 | S0 | L0 | 0 | 1 | right
      1 | S1 | L1 | 0 | 1 | write0
      2 | S2 | L1 | 0 | 0 | left
      3 | S3 | L0 | 0 | 0 | write1
      4 | S7 | L0 | 1 | 0 | STOP

Now, according to Maudlin's formula, we'll create an Olympia
version of this, consisting of five troughs, corresponding
to the location in each of the five states. If the troughs
are numbered from 0, then T0, T3, and T4 are connected by
pipes (corresponding to location L0 at times 0, 3, and 4),
and T1 and T2 are connected. The first set, T0, T3, and T4,
is initially empty of water (0), and the second set is
initially full (1).

The armature goes down the chain, and when it gets to T2, it
empties it (corresponding to the write0 operation on the
transition from state S1 to S2 at time 1. When it gets to
T4, it fills it. All the other troughs, it leaves alone.
Now, as part of Olympia, we must also set up floats within
each trough that will detect when the water level is other
than that which it would have been when the armature reaches
it in the reference run. To sum up, we have:

   T0 T1 T2 T3 T4

  bbbb bbbb bbbb bbbb bbbb = barrier
 | | | f | | f | | | | |
 | | |^^^^| |^^^^| | | | |
 | | | | | | | | | | f = float
 | f | | | | | | f | | f |
 |----| |----| |-D--| |----| |----| D = drain tripper
    | | | | |
    | |-------| | | pipes
    | | |
    |-----------------------|-------|

All this is set up ahead of time, clearly for the purpose
of making it so that the machine is completely "dumb"
while it is performing the reference calculation.

So far so good. When Olympia performs the reference run,
she works as advertised, and none of the supporting machinery
is brought into play. But note that if I just showed you
the drawing above, you would have no way of deriving what the
computation is, i.e. NAND. I would have to provide you an
explicit description of the supporting Klaras.

Now, if I tell you that I have inserted a "second set of
blocks", such that the Klaras are disabled, now I _can_ tell
you what the computation is that is performed by this device:

    if (L0 == 0 AND L1 == 1) then
        L0 <- 1
        L1 <- 0
    else STOP

This is an entirely different program! It's a trivial one,
at that.


So what, you ask?

This demonstrates that you must take the entire system into
account when translating from physical structure -> computer
program. This further demonstrates that yes, it is possible
to have two instances of the exact same physical activity
which perform different computations. But the scenario is
necessarily contrived, in such a way that a particular
computation is encoded into the device. In other words, the
physical activity is given a contrived meaning.

So physical structures can implement computations. This is
the physical supervenience hypothesis. And it is quite
compatible with the computationalist hypothesis of
consciousness. Note that in the above argument, consciousness
never entered into the discussion. Unless you can prove to
me that physical structures cannot reliably implement
computations, I assert that they can implement conscious
entities.

Now either refute this, or admit that you have made an error.


> This seems rather magical to me. If only because, for a computationalist,
> the only role of the inert block (during the particular execution) is to
> explain why the machine WOULD have give a correct answer in case the
> inputs WOULD have been different.
> This mean that you don't associate consciousness with a particular
> physical computation but with the entire set of possible computations.
> But that is exactly what I do ..., and what I mean by the abandon
> of physical supervenience.
> A singular brain's activity becomes an invention of the mind.
>
> Bruno

-- 
Chris Maloney
http://www.chrismaloney.com
"Knowledge is good"
-- Emil Faber
Received on Fri Jul 23 1999 - 19:14:16 PDT

This archive was generated by hypermail 2.3.0 : Fri Feb 16 2018 - 13:20:06 PST