[net.ai] Parallelism and Conciousness

Batali%MIT-OZ@sri-unix.UUCP (10/25/83)

From:  John Batali <Batali at MIT-OZ>


I'm interested in the reasons for the pairing of these two ideas.  Does
anyone think that parallelism and consciousness necessarily have anything
to do with one another?

speaker@umcp-cs.UUCP (11/01/83)

This message is empty.

dinitz@uicsl.UUCP (11/01/83)

#R:sri-arpa:-1299800:uicsl:15500012:000:1598
uicsl!dinitz    Oct 31 08:57:00 1983

I see no reason why consciousness should be inherently parallel.  But
it turns out that the only examples of conscious entities (i.e. those
which nearly everyone agrees are conscious) rely heavily on parallelism
at several levels.  This is NOT to say that they derive their
consciousness from parallelism, only that there is a high corelation
between the two.

There are good reasons why natural selection would favor parallelism.
Besides the usually cited ones (e.g. speed, simplicity) is the fact
that the world goes by very quickly, and carries a high information
content.  That makes it desirable and advantageous for a conscious
entity to be aware of several things at once.  This strongly suggests
parallelism (although a truly original species might get away with
timesharing).

Pushing in the other direction, I should note that it is not necessary
to bring the full power of the human intellect to bear against ALL of
our environment at once.  Hence the phenomenon of attention.  It
suffices to have weaker processes in charge of uninteresting phenomena
in the environment, as long as these have the ability to enlist more of
the organism's information processing power when the situation becomes
interesting enough to demand it.  (This too could be finessed with a
clever timesharing scheme, but I know of no animal that does it that
way.)

Once again, none of this entails a connection causal connection between
parallelism and consciousness.  It just seems to have worked out that
nature liked it that way (in the possible world in which we live).

Rick Dinitz
...!uiucdcs!uicsl!dinitz

israel@umcp-cs.UUCP (11/01/83)

	From: speaker@umcp-cs.UUCP
	
		No algorithm is inherently parallel.
	
	The algorithms you are thinking about occur in the serial world of
	the Turing machine.  Turing machines, remember, have only only one
	input.  Consider what happens to your general purpose turing machine
	when it must compute on more than one input and simultaneously!
	
	So existence in the real world may require parallelism.

How do you define simultaneously?  If you mean within a very short
period of time, then that requirement is based on the maximum speed of
a processing unit that we can currently build.  If you mean 'at the
exact same time', then I defy you to show me a case where this is
necessary.

The statement "No algorithm is inherently parallel", just means that
the algoritm itself (as opposed to the engineering of putting it
into practice) does not necessarily have to be done in parallel.
Any parallel algorithm that you give me, I can write a sequential
algorithm that does the same thing.

Now, if you assume a finite number of processors for the parallel
algorithm, then the question of whether the sequential algorithm will
work under time constraints is dependent on the speed of the
processor worked on.  I don't know if there has been any work
done on theoretical limits of the speed of a processor (Does
anyone know? is this a meaningful question?), but if we assume
none (a very chancy assumption at best), then any parallel algorithm
can be done sequentially in practice.

If you allow an infinite number of processors for the parallel
algorithm, then the sequential version of the algorithm can't
ever work in practice.  But can the parallel version?  What
do we run it on?  Can you picture an infinitely parallel
computer which has robots with shovels with it, and when the
computer needs an unallocated processor and has none, then
the robots dig up the appropriate minerals and construct
the processor.  Of course, it doesn't need to be said that
if the system notices that the demand for processors is
faster than the robots' processor production output, then
the robots make more robots to help them with the raw materials
gathering and the construction.  :-)
-- 

^-^ Bruce ^-^

University of Maryland, Computer Science
{rlgvax,seismo}!umcp-cs!israel (Usenet)    israel.umcp-cs@CSNet-Relay (Arpanet)

SUNDAR%MIT-OZ@sri-unix.UUCP (11/01/83)

the case of organisms that multiply by fission (where the line
of division between parent and child is not exactly clear)the structure
of the organism may be preserved .In such cases it would seem that the
organism survives seemingly forever . However it would not be considered
intelligent by the definition proposed above .
The questions that seem interesting to me therefore are:
1 How do humans acquire the concept of 'time'?
2 'Change' seem to be measured in terms of time (adaptation,survival etc
are all the presence or absense of change) but 'time' itself seems to be
meaningless without 'change'!
3 How do humans decide that an organism is 'intelligent ' or not?
Seems to me that most of the people in the AIList made judgements (the
amoeba , desert tortoise, cockroach examples )which should mean that
they either knew what intelligence was or wasn't-but it still isn't
exactly clear after all the smoke's cleared.

    Any comments on the above ideas? As a relative novice to the field
of AI I'd appreciate your opinions.

Thanks.

--Sundar--

rlh@mit-eddie.UUCP (Roger L. Hale) (11/02/83)

at requirement is based on the maximum speed of
    a processing unit that we can currently build.  If you mean 'at the
    exact same time', then I defy you to show me a case where this is
    necessary.

    The statement "No algorithm is inherently parallel", just means that
    the algorithm itself (as opposed to the engineering of putting it
    into practice) does not necessarily have to be done in parallel.
    Any parallel algorithm that you give me, I can write a sequential
    algorithm that does the same thing.

Consider the retina, and its processing algorithm.  It is certainly
true that once the raw information has been collected and in some way
band-limited, it can be processed in either fashion; but one part of
the algorithm must necessarily be implemented in parallel.  To get
the photon efficiencies that are needed for dark-adapted vision
(part of the specifications for the algorithm) one must have some
continuous, distributed attention to the light field.  If I match
the spatial and temporal resolution of the retina, call it several thousand
by several thousand by some milliseconds, by sequentially scanning with
a single receptor, I can only catch one in several-squared million
photons, not the order of one in ten that our own retina achieves.

speaker@umcp-cs.UUCP (11/02/83)

			No algorithm is inherently parallel.
		
		The algorithms you are thinking about occur in the serial world of
		the Turing machine.  Turing machines, remember, have only only one
		input.  Consider what happens to your general purpose turing machine
		when it must compute on more than one input and simultaneously!
		
		So existence in the real world may require parallelism.


	How do you define simultaneously?  If you mean within a very short
	period of time, then that requirement is based on the maximum speed of
	a processing unit that we can currently build.  If you mean 'at the
	exact same time', then I defy you to show me a case where this is
	necessary.

A CHALLENGE!!!  Grrrrrrrr......

Okay, let's say we have two discrete inputs that must
be monitored by a Turing machine.  Signals may come in
over these inputs simultaneously.  How do you propose
to monitor both discretes at the same time?  You can't
monitor them as one input because your Turing machine
is allowed only one state at a time on its read/write head.
Remember that the states of the inputs run as fast as
those of the Turing machine.


You can solve this problem by building two Turing machines,
each of which may look at the discretes.

I don't have to appeal to practical speeds of processors.
We're talking pure theory here.
-- 

					- Speaker-To-Stuffed-Animals
					speaker@umcp-cs
					speaker.umcp-cs@CSnet-Relay

tjt@kobold.UUCP (T.J.Teixeira) (11/03/83)

Gawd!! Real-time processing with a Turing machine?!
Pure theory indeed!

Turing machines are models for *abstract* computation.  You get to
write an initial string on the tape(s) and start up the machine: it
does not monitor external inputs changing asynchronously.  You can
define your *own* machine which is just like a Turing machine, except
that it *does* monitor external inputs changing asynchronously (Speaker
machines anyone :-).

Also, if you want to talk *pure theory*, I could just enlarge my input
alphabet on a single input to encode all possible simultaneous values
at multiple inputs.


-- 
	Tom Teixeira,  Massachusetts Computer Corporation.  Littleton MA
	...!{harpo,decvax,ucbcad,tektronix}!masscomp!tjt   (617) 486-9581

tjt@kobold.UUCP (T.J.Teixeira) (11/03/83)

In regards to the statement

	No algorithm is inherently parallel.

which has been justified by the ability to execute and "parallel"
program on a single sequential processor.

The difference between parallel and sequential algorithms is one of
*expressive* power rather than *computational* power.  After all, if
it's just computational power you want, why aren't you all programming
Turing machines?

The real question is what is the additional *expressive* power of
parallel programs.  The additional expressive power of parallel
programming languages is a result of not requiring the programmer to
serialize steps of his computation when he is uncertain whether either
one will terminate.
-- 
	Tom Teixeira,  Massachusetts Computer Corporation.  Littleton MA
	...!{harpo,decvax,ucbcad,tektronix}!masscomp!tjt   (617) 486-9581

preece@uicsl.UUCP (11/03/83)

#R:sri-arpa:-1299800:uicsl:15500013:000:542
uicsl!preece    Nov  2 08:25:00 1983

There is a significant difference between saying "No algorithm is
inherently parallel" and saying "Any algorithm can be carried out
without parallelism."  There are many algorithms that are
inherently parallel. Many (perhaps all) of them can be SIMULATED
without true parallel processing. 

I would, however, support the contention that computational models
of natural processes need not follow the same implementations, and
that a serial simulation of a parallel process can produce the
same result.

scott preece
ihnp4!uiucdcs!uicsl!preece

preece@uicsl.UUCP (11/04/83)

#R:sri-arpa:-1299800:uicsl:15500014:000:1205
uicsl!preece    Nov  3 08:46:00 1983

Arguments based on speed of processing aren't acceptable.  The
question of whether parallel processing is required has to be
in the context of arbitrarily fast processors.  Thus you can't
talk about simultaneous inputs changing state at processor speed
(unless you're considering the interesting case where the input
is directly monitoring the processor itself and therefore
intrinsically as fast as the processor; in that case you can't
cope, but I'm not sure it's an interesting case with respect to
consciousness).

Consideration of the retina, on the other hand, brings up the
basic question of what is a parallel processor.  Is an input
latch (allowing delayed polling) or a multi-input averager a
parallel process or just part of the plumbing? We can also, of
course, group the input bits and assume an arbitrarily fast
processor dealing with the bits 64 (or 128 or 1 million) at a
time.

I don't think I'd be willing to say that intelligence or
consciousness can't be slow. On the other hand, I don't think
there's too much point to this argument, since it's pretty clear
that producing a given level of performance will be easier with
parallel processing.

scott preece
ihnp4!uiucdcs!uicsl!preece

jsol@bbncca.ARPA (Jon Solomon) (12/02/83)

If you have one touring machine processing two inputs, you have to implement
some form of flow control and hope that the inputs will respond to that.

In the human model, if two people are in the same room talking, you can only
hear one of them, you try to convince one of them to stop talking and wait
for you to give your full attention to that person, or you ignore what he is
saying.

Note that it is possible to not get processible information from either
input.

-- 
[--JSol--]

JSol@Usc-Eclc/JSol@Bbncca (Arpa)
JSol@Usc-Eclb/JSol@Bnl (Milnet)
{decvax, wjh12, linus}!bbncca!jsol

preece@uicsl.UUCP (12/06/83)

#R:bbncca:-36300:uicsl:15500020:000:312
uicsl!preece    Dec  5 10:15:00 1983

----------
	If you have one touring machine processing two inputs, you have to
	implement some form of flow control and hope that the inputs will
	respond to that.
----------
The first step has to be to convince your touring machine to stay home;
you'll never accomplish anything with a peripatetic processor...