~~~~Main
Home
Contact

~~~~Projects
vee
Computer Merit Badge
PatchLodge.com
Projects Summary

~~~~My Bookmarks
ACM@LSU CS Resources
Programming
Operating Systems
Computer Architecture
Databases

 

Tue Sep 22 11:18:02 EDT 2009

The  Computer Merit Badge: how I'd complete the requirements NOW;
part 2

--

This installment is part 2 of my series, answering  some  of  the
questions  in  the  Boy  Scout's  Computer Merit Badge as I would
knowing what I know now.

Requirement  1:  Give  a short history of computers. Describe the
major parts of a computer system. Give  four  different  uses  of
computers.

A) Give a short history of computers (continued)

In part 1 of answering this question, I discussed the fact that a
computer device's power is tied directly to its ability to remem-
ber what it has seen before.  There are 3 main possibility:

1) a device has no memory (finite automata)

2) a device has a single "stack" of memory, able to  access  what
is  on  the  stack using only a series of 'push' and 'pop' opera-
tions

3) a device that has random access to  some  memory  (Turing  Ma-
chines)

So,  let's look at the history of computing devices from the per-
spective of function (i.e., what the device  does),  rather  than
the  technologies used to put these devices together. This is not
an exact or complete chronology, but covers  some  major  devices
seen over the years.

a)  the  Abacus  - of course, how could I not start with this. It
was a board with pegs and beads that  allowed  humans  to  count.
Similar  to any other counting device of the time, it had no real
memory. It was a glorified clicker. So under what class would  it
fall?  It  can be modeled exactly as a finite automata - so it is
in class 1.  The "state" of the device is defined  by  the  posi-
tions of the beads. The positions of the beads contain all of the
information one needs to determine the current count. The "input"
consists  of  the reconfigurations required to increment the cur-
rent count by 1.

b) the Antikythera mechanism - this amazing device was  found  in
1901  at the bottom of the sea. It is an ancient Greek device es-
timated to be built around 150-100 BC. A lot more detail  regard-
ing  its  precision  and construction can be viewed on Wikipedia,
but it is sufficient to say that it is absolultely stunning  that
something this well designed was done so that long ago. It is the
oldest analog "computer" known, and  its  sophistication  clearly
indicates  that  it is not a "first generation" device created by
the Greeks. It alludes to some lost knowledge that we'll probably
never recover from ancient tomes.  But I digress. So what does it
do? Well, after a lot of detailed investigation  and  painstaking
analysis,  it was determined that it is used to calculate the po-
sitions of celestial objects, like the Sun and Moon. I will  dis-
cuss,  later,  how  Humans are really bad at discovering what un-
known "machines" actually do.

As complex and sophisticated as it is, I propose that it is still
no  more  powerful  than a device than can be modeled by a finite
state automata. Why do I say this? Because the celestial patterns
are predictable, and were clearly known to the creator of the de-
vice. The input for the device is the turning of the  knobs.  The
state  of  the  device consists of the positions of the gears and
other moving devices internally. From each state, the turning  of
a  knob  provides  the  input  needed  to transistion to the next
state.  Only the information encoded in the state itself  is  re-
quired  to  go to the next of many potential states, depending on
the input provided by the knobs. Also note, the Antikythera mech-
anism contains no MEMORY for the storing of temporary values. And
why would it? Its functionality did not require memory since  the
relations  among the bodies were known, and thus encoded into the
gears and their ratios (like a Swiss clock of the 18th Century!).

c) Automatons - these were devices, probably first created by the
people who created the Antikythera mechanism, that were  designed
to  resemble  the actions performed by animate objects. They were
robots in the most basic sense, and were used by the ancients  in
much  the same way that Disney uses its animatronic characters at
its theme parks.  The ancient Automatons were  also  of  class  1
computing devices.  They consisted of gears, levers, pullies, and
other simple mechanical devices - BUT NO MEMORY. Why did it  have
no memory? They didn't need it in when "computing" their next mo-
tion or movement. The computation was built into the  states  im-
plicitly.

d)  the  Difference  engine - according to Wikipedia, this device
is, "an automatic, mechanical  calculator  designed  to  tabulate
polynomial  functions.  Both  logarithmic and trigonometric func-
tions can be approximated by polynomials, so a difference  engine
can  compute many useful sets of numbers." There's something very
special about this.  These computations require MEMORY! So  where
does  this  machine  fit in terms of the classes we've discussed?
Well, the answer to this is a bit tricky, but here it  goes.   It
is more powerful that class #2 (push down automata), but is not a
general purpose and programmable machine like the Turing  Machine
is meant to be. It does, however, represent a PROGRAM that can be
(when written in a context sensitive language), be recognized and
executed  by  a  Turing  Machine. The Difference engine therefore
represents a mechanical program, or in otherwords, a special pur-
pose (as opposed to general purpose) computer. The distinction is
subtle, but the key to understanding this is to  realize  that  a
Turing  Machine  (general  purpose) can be programmed to act as a
special purpose computing machine. This is what  programs  really
are  -  they are instructions needed by a general purpose to emu-
late the actions of a special purpose machine.  In otherwords,  a
general  purpose  machine  could be programmed to act exactly (in
function) as the Difference engine,  but  the  difference  engine
(being  a  special purpose machine) is unable to be programmed to
emulate the action of any other valid machine.

It should be noted that, also according to Wikipedia,  "an  engi-
neer  in  the Hessian army conceived the idea in a book published
in 1786, but failed to find funding to progress this further."

e) the Analytical engine - although never  completed  by  Charles
Babbage,  this  machine  was intended to be a GENERAL PURPOSE ME-
CHANICAL DEVICE! In otherwords, if this device had been built, he
could have "programmed" to be functionally equivalent to his Dif-
ference engine.  The ramifications of a working Analytical engine
would  have been far reaching. In particular, it would have given
Humans computational powers not to be seen for  over  100  years.
There are whole "alt history" book series premised on the success
of this machine called, "cyber punk" and "steam punk." The  point
of the books is, what would have happened in the World and to Hu-
manity had we developed computational powers  a  century  before?
It's an incredibly interesting thought experiment.

Conclusion:

It  took  100 years after the failed completion of Babbage's Ana-
lytical engine before another device was  created.   Starting  in
1941, not very long after Church and Turing formalized their the-
ories on computability, the Germans created a equivalently power-
ful  machine called, the "Zuse Z3." Interestingly, modern comput-
ers did not follow on its design or methods for  programming.  It
was  programmed using a language called, "Plankalkul." During the
remainder of the decade came other attempts, some not as computa-
tionally  powerful  as the Zuse Z3. Among them are the ones typi-
cally discussed when speaking of the  history  of  computing  de-
vices.

The deviced highlighed above were chose to make the point regard-
ing the development of computational power. It is not close to an
exhaustive  or  chronological  list.   For example, textile looms
were complex and sophisticated to be  "programmed"  as  early  as
1725.  Still  earlier, countless people and cultures were experi-
menting with various  other  machines  such  as  calculators  and
clocks.

History of Computing Hardware (Wikipedia)
History of Computing (Wikipedia)
Timeline of Computing (Wikipedia)

This  concludes  this  section  on history of computers, but I do
hope to write further on the history of  computing  devices  with
respect  to  computational  power. In closing, do not forget that
modern computers are not more powerful than computer designs from
a  long  time ago. As illustrated with the Antikythera mechanism,
there is no reason to believe that computing devices as  powerful
as  Babbage's  Analytical engine (and therefore modern computers)
were not created by ancient people.  There's a  lot  of  "modern"
knowledge  that  we  are  fooled into thinking is ours alone, but
people thousands of years ago were just as smart as we were.  And
remember, power is all about the memory - no matter how it is im-
plemented: gears, vacuum tubes, transistors, stacks,  or  not  at
all.

Until the next installment, please stay tuned.


--
Powered by vee
Copyright © 2006-2010
FreeBSD
Perl
Qore