From: James Rogers (jamesr@best.com)
Date: Tue Dec 17 1996 - 01:37:04 MST
At 10:11 PM 12/16/96 -0800, you wrote:
>On Mon, 16 Dec 1996 James Rogers <jamesr@best.com> Wrote:
>
> >I have taken many courses in computer architecture. I am
> >familiar with evolution of very low level as well as
higher
> >level constructs. I have even designed and fabricated
simple
> >integrated circuits from scratch. I could design a basic
> >ALU from the ground up if I had to. I even understand how
> >and why different types of transistors and transistor
> >materials do what they do on a chemical level.
>
>
>I am sure that all of the above is true.
>
>
> >What part don't I understand?
>
>
>If you understand how a computer does arithmetic you must understand what
>the machine will do, what its output will be, when it takes 5203 to the 127
>power. So tell me, what is 5203 ^127? My point is that somebody could be
>very familiar with every one on the 26 letters in the English Language but
>still not understand the subtly in Shakespeare.
I could calculate 5203^127, albeit pretty slowly. A computer could
calculate it as well, and much faster too. And for every single bitwise
operation, I could show you exactly what process is going on in the ALU at a
transistor by transistor level. Of course, with numbers this big, you would
be looking at multi-precision arithmetic since the registers can't currently
handle numbers this big, but this is a minor detail.
Actually, I think that arithmetic computation is a really poor example of
something that we don't (can't) understand. It is a simple, deterministic
process. There are no unknown variables. If this wasn't the case, software
would be non-deterministic (which it isn't).
As for Shakespeare and letters of the alphabet, semantic and contextual
comprehension is arguably a non-deterministic process and therefore could be
unknowable by definition.
>
> >I *do* understand turbulence (as well as anyone does).
>
>
>I will concede that you do understand turbulence, as well as anyone does.
>
>
> >our difficulty in adequately describing turbulence has to
do
> >with the complexity of the system
>
>
>I agree.
I would submit that everything we don't understand or can't predict is based
entirely on we 1) can't measure something, 2) can't find something, or 3)
computational complexity is too high.
Using this as a metric, I can't think of a single thing we don't understand
that doesn't fall under one or more of these categories.
>
> >a level of complexity not found in the study of elementary
> >arithmetic logic structures.
>
>
>It's true that the sort of complexity seen in turbulence is not found in the
>structure of a CPU, but it is found in the operation of a CPU.
Granted, CPU operation is complex, especially these days, but it was all
done by humans, and there are people who could tell you how each part works
on a transistor by transistor basis. Obviously, with a device this complex,
it takes many people and experts to design it. But understanding each of
the parts is within the grasp of many people.
As I previously stated, if we didn't understand how a CPU (which we designed
and constructed) worked, then software could not be deterministic in any
useful sense.
> >It sounds like you are saying that it is impossible for
> >humans to truly understand anything.
>
>
>No, I admit that you know a lot, I know one or two things myself, I'm saying
>it is impossible for humans to truly understand everything.
I agree. No *one* person can truly understand everything. And human kind
may never understand everything, but I will do my damnedest to come as close
as I personally can.
> >You can duplicate the binary computational sequence by
> >arranging and moving pebbles.
>
>
>Certainly true, and then nobody would understand pebbles.
>
You lost me here. Pebbles are irrelevant to the computational structure.
You could be using bananas and the results would be the same. No one needs
to understand the pebbles to perform the computation. They would simply
exist to solidify an abstraction (most people find visualization helpful).
Computers are hardware implementations of abstract algorithms. You could
build an entire computer as a set of equations and predict every outcome
from the computer for every set of conditions. And this is actually how
most CPUs are designed today anyway. They are first built as abstracted
simulations of equations before they are ever dedicated to hardware. The
reason we can do this is that computer computation is a simple,
deterministic process.
-James Rogers
jamesr@best.com
This archive was generated by hypermail 2.1.5 : Fri Nov 01 2002 - 14:35:54 MST