presentation

advertisement
The Hixon Symposium – 1948
• This was symposium on cognitive science – not
computer architecture
• So, why are we reading it?
–
–
–
We’re reading it due to the stature of John von
Neumann in the computer architecture arena
We’re reading it because we must understand
something about computation if we are to
understand computer architecture
The human brain is the best computer architecture
around yet the least well understood
CSC521
Why von Neumann?
• von Neumann’s presence was many-fold
– Interest/expertise in artificial automata (computing
machines) and the similarity to the brain
– Interest in self-replicating systems
– He hoped to gain an understanding of the human brain
to drive the direction of computer architecture
development
– He hoped that through the study of artificial automata
new insights could be gained regarding the
structure/operation of the human brain
CSC521
von Neumann’s Goal
• von Neumann’s goal was to draw an analogy
between artificial automata and natural organisms
through the eyes of a mathematician
• His approach is that of divide-and conquer –
understand the elementary units then understand
how the function as a whole
• He then proceeded to “write off” the elementary
units and accept them as “black-boxes” that receive
an input and deterministically produce an output –
The Axiomatic Procedure
CSC521
What is “Artificial Automata”?
• Artificial Automata ≡ Computing Machine
– Long chain of events within a computing
machine ≡ Program
CSC521
Fixation on Multiplication
• Multiplication as the gauge
– Use of a computing machine was determined by the
number of multiplications required by the computation
– computers are only justified for problems requiring
one million or more multiplications
– Difference between organic systems and artificial
automata is that organic systems can be inexact yet still
arrive at a correct answer. Artificial automata must
perform every step flawlessly or errors may occur
– Consider what happens if an LSB is flipped
– Consider what happens if an MSB is flipped
CSC521
Two Types of Computers
• Analogy (analog)
– Either electrical or mechanical (rotating discs with angle
of rotation representing the analog value)
– Inherently inaccurate (noisey) (“The Analogy
Principle”)
– Use statistics to gain accuracy/reduce the effects of
noise (improve “signal-to-noise” ratio where “noise” are
error-prone calculations)
• Consider averaging noisy samples
• Noise is reduced as the square root of the number samples
averaged – mathematical proof exists
CSC521
Differential Analyzer
• MIT – 1930s – Vannevar Bush
– First “well integrated” analog computer
– Rods and wheels
– Solved differential equations
CSC521
Two Types of Computers
• Digital
– At the time machines were decimal – “all digital
machines built to date operate in this system”
– Prediction – “the binary (base 2) system will, in the end,
prove preferable…now under construction”
• ENIAC was completed in 1945 – mathematical table generator
based on decimal data
• EDVAC came afterwards – programmable machine based on
binary data
• Perfectly accurate so long as components work as designed
(“The Digital Principle”)
CSC521
ENIAC
• First large-scale electronic digital computer
CSC521
Two Types of Computers
• Digital
– Inaccuracies arise due to limitations of word size –
similar to those of the analogy principle
– Use more bits to gain accuracy/reduce the effects of
noise (improve “signal-to-noise” ratio where “noise” is
round-off error)
• This is why digital computation may be considered
more powerful than analog
– Clearly depends on one’s definition of “powerful”
CSC521
Artificial Automata vs. Organic
Processing
• Organic contains both digital and analog processing
– Neuron firings (outputs) are “all-or-none” computations (threshold)
• Technically speaking they are analog but when viewed as a black-box
they act digital
– Internal to the neuron is a chemical ≡ humoral (analog) process
• Artificial automata are purely digital (although analog
machines existed von Neumann did not consider them in this
context)
– Technically speaking the vacuum tubes of the day (and the ICs of
today) are analog but when viewed as a black-box they act digital
CSC521
Vacuum Tubes
(for those too young to remember)
• Vacuum Tube
• Nixie Tube
CSC521
Artificial Automata vs. Organic
Processors
• The digital nature of the both the neuron and
the vacuum tube/IC is a form of Abstraction
(which is good for us Computer Scientists)
– Both use “switching organs”
• Analog → neuron
• Digital → mechanical relay or vacuum tube
CSC521
Some Predictions
• “It is quite possible that computing machines will
not always be primarily aggregates of switching
organs, but such a development is as yet quite far
in the future.”
• “A development which may lie much closer is that
the vacuum tubes may be displaced from their role
of switch organs in computing machines. This, too,
however, will probably not take place for a few
years yet.”
CSC521
Some Factual Statements
• “To sum up, about 104 switching organs seem to be
the proper order of magnitude for a computing
machine. In contrast to this, the number of neurons
in the central nervous system has been variously
estimated as something of the order of 1010.”
– The implication being that the number of switching
organs is the primary drawback – but we know that
algorithms (or lack thereof) are another “sticky wicket.”
CSC521
Some Beliefs
• Didn’t believe that speed was an issue since
neurons are relatively slow compared to vacuum
tubes (and today’s ICs.)
• Physical comparisons between the ENIAC and the
human brain
– 30 tons vs. 1 pound
– Regenerative nature of the organic systems (able to
repair themselves.)
– Inability of artificial automata to do so
CSC521
Conclusion
• Inferiority of materials used in artificial
automata is the primary culprit.
– If we had better raw materials to work with then
we could build an artificial automata that could
mimic the behaviors of organic processors
CSC521
Limiting Factors on Artificial
Automata
• Complication of organic systems
– We don’t fully understand them
– We can physically build anything nearly as
complex
• Available materials and knowledge of how
to use them
CSC521
Limiting Factors on Artificial
Automata
• Lack of a logical theory of automata
– Turing proved that anything that can be described
algorithmically can be computed in a finite number of
steps
– But, current machines won’t work because of
component failures
– Algorithms must be made fault tolerant (ref. “signal-tonoise” discussion, above)
• Nature does this by making the effect of the failure
unimportant (distributed representation)
• Artificial automata must deal with the failure immediately
CSC521
Limiting Factors on Artificial
Automata
• Method of data representation
– Organic systems tend to represent data as a
temporal form – e.g. counting over time
– Artificial automata tend to represent data as a
spatial form – e.g. the binary number system
CSC521
Limiting Factors on Artificial
Automata
• Fault tolerance
– Organic systems tend to minimize the
importance of isolated errors
• In many cases they are self-correcting
– Artificial automata tend to be hindered by
isolated errors and disabled by multiple errors
• They must be detected as soon as they occur so as to
not adversely affect later results
CSC521
Limiting Factors on Artificial
Automata
• Intellectual inadequacy – we just don’t know how to do it!
• McCulloch-Pitts tied Turing’s work to artificial neural
networks
– That is, if you can describe it, we can implement it with Artificial
Neural Networks (“formal neural networks”)
– The underlying problem is the specification of the algorithm!!!
– von Neumann alludes to training a pattern recognizer through the
phrase “complete catalogue” but admits the size is prohibitive
• Does this contradict the definition of “computer” that says
the answers are not stored in the system?
CSC521
Limiting Factors on Artificial
Automata
• Conclusion:
– McCulloch-Pitts work is important but does not get us
to an intelligent machine
CSC521
The Turing Machine
• The ultimate computer architecture
Read/Write
State
CSC521
Self Replicating Machines
• von Neumann then proceeds to discuss
machines that can create copies of
themselves as a means for discussing
complexity
– Must the building machine be more complex
than the one being built?
– His goal was to further the study of automata
CSC521
So, Why was von Neumann at a Conference
on Cerebral Processing?
• “reflects merely the present, imperfect state
of our technology – a state that will
presumably improve with time”
• This is why we study computer architecture.
– To come up with an artificial automata that will
get us closer to that of an organic processor!
CSC521
Download