From newshub.ccs.yorku.ca!ists!helios.physics.utoronto.ca!news-server.ecf!utgpu!csd.unb.ca!morgan.ucs.mun.ca!nstn.ns.ca!aunro!ukma!wupost!uunet!mcsun!uknet!edcastle!aiai!jeff Thu Jan 16 17:19:36 EST 1992
Article 2633 of comp.ai.philosophy:
Xref: newshub.ccs.yorku.ca comp.ai.philosophy:2633 sci.philosophy.tech:1801
Path: newshub.ccs.yorku.ca!ists!helios.physics.utoronto.ca!news-server.ecf!utgpu!csd.unb.ca!morgan.ucs.mun.ca!nstn.ns.ca!aunro!ukma!wupost!uunet!mcsun!uknet!edcastle!aiai!jeff
>From: jeff@aiai.ed.ac.uk (Jeff Dalton)
Newsgroups: comp.ai.philosophy,sci.philosophy.tech
Subject: Re: Causes and Reasons
Message-ID: <5943@skye.ed.ac.uk>
Date: 10 Jan 92 18:25:40 GMT
References: <1991Dec24.020441.8340@bronze.ucs.indiana.edu> <1991Dec24.014716.6901@husc3.harvard.edu> <5918@skye.ed.ac.uk> <1992Jan10.011118.26218@bronze.ucs.indiana.edu>
Reply-To: jeff@aiai.UUCP (Jeff Dalton)
Organization: AIAI, University of Edinburgh, Scotland
Lines: 69

In article <1992Jan10.011118.26218@bronze.ucs.indiana.edu> chalmers@bronze.ucs.indiana.edu (David Chalmers) writes:
>In article <5918@skye.ed.ac.uk> jeff@aiai.UUCP (Jeff Dalton) writes:
>
>>It may help me to understand this if you can tell me how many
>>different causal structures count as an implementation?  Well,
>>not just how many -- what is the range of possibility.  Are
>>all of the implementations the right structrue for thinking?
>
>I spelt this out, at least for the FSA case, in an earlier message.
>And yes, all of the implementations think, given the right program.

I think I know what message you mean, and I think I replied to it.
The FSA case is much lower-level and direct as a description of a
causal structure than a program is.  It describes state transitions.
But a vast range of different automata can result from implementing
a program.  So the FSA example doesn't help me very much.

>>I'm not even sure that all correct implementations have the right
>>causal structure, since a given program can have a wide range of
>>implementations, with a wide range of causal structures.  (Some
>>might use ICs, other beads and string; there are different compilers
>>that produce different object code; etc.)
>
>There can be a lot of differences, but there will be certain causal
>properties that will be shared between everyu implementation of a
>given program; think of the simple FSA program "S1->S2, S2->S3,
>S3->S1" for example.

But, again, this doesn't help very much.  For instance, if I
added a bunch of other states, you'd say it was a different FSA.
But if I'm doing something like compiling a program, it can 
involve different sets of states for different target languages,
can be "pessimised" to contain extra junk, and so on.

>>There's a huge step from state transitions to C programs, since
>>a C program could be implemented by so many different patterns
>>of state-transitions.
>
>But there will be certain invariants in causal structure, and they're
>the relevant properties.

What exactly are these invariants?  In effect, you can think of
the definition of C as saying what output (or other system calls)
will occur.  The compiler can accomplish it in many ways, including
ones that no rational compiler writer would ever use.

>  e.g. consider a simulation of a neural
>network in C, with a variable representing the activation of each unit.
>Then in any implementation there will be a physical state (or property)
>corresponding to each variable, and these physical states will have the
>appropriate causal relations between them.

This sounds plausible, but you still seem to be thinking of the
program as a fairly direct description of what will happen at the
hardware level on particular kinds of machines.  Your neural net
program could be transformed into a program with the same I/O
behavior but in which there wasn't a variable for the activation
of each unit.

In any case, you can't just look at what variables appear in the
C source and say something has to correspond to _those_ variables.
Even with standard compilers, some of them might be eliminated 
during optimization, for example.

You might be right about the existence of a correspondence,
but your examples all seem to be at the wrong level for helping
me to see how.

-- jeff


